-
- IFS= read -d '' -n 1 -r init
- if [[ $init ]]; then
- $s tee -a "$file" >/dev/null <<<"$begin"
- printf '%s' "$init" | $s tee -a "$file" >/dev/null
- $s tee -a "$file" >/dev/null
- $s tee -a "$file" >/dev/null <<<"$end"
- fi
-
- if ! $exists; then
- ret=1
- if $verbose; then
- echo "New file $file:"
- cat "$file"
- fi
- elif type -t diff &>/dev/null; then
- diff=$(diff -u "$temp" "$file")
- ret=$?
- if $verbose; then
- if (( $ret == 0 )); then
- echo "No changes made to $file"
- fi
- else
- echo "backup of original at $temp"
- echo diff -u "$temp" "$file":
- echo "$diff"
- fi
- else
- # for systems like openwrt which don't have diff
- diff=$(cmp "$temp" "$file")
- ret=$?
- if $verbose; then
- echo "$diff"
- fi