On 20/12/12 10:19, Dave Reisner wrote: > On Thu, Dec 20, 2012 at 01:06:36AM +0100, Florian Pritz wrote: >> Signed-off-by: Florian Pritz <[email protected]> >> --- >> Now uses printf instead of echo -n. >> >> contrib/pacdiff.sh.in | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/contrib/pacdiff.sh.in b/contrib/pacdiff.sh.in >> index 86dc20e..3461627 100644 >> --- a/contrib/pacdiff.sh.in >> +++ b/contrib/pacdiff.sh.in >> @@ -97,15 +97,16 @@ while IFS= read -u 3 -r -d '' pacfile; do >> echo " Files are identical, removing..." >> rm -v "$pacfile" >> else >> - echo -n " File differences found. (V)iew, (S)kip, (R)emove: >> [v/s/r] " >> + printf " (V)iew, (S)kip, (R)emove $file_type, (O)verwrite with >> $file_type: [v/s/r/o] " > > You're using the prompt as a format string. It's obvious what the > possible values for $file_type are, but I'd rather these be inserted as > tokens replacements rather than embedded in the format string.
I am more concerned that the prompt line will almost always go over 80 characters. How about" printf " File differences found in %s\n" $file_type printf " (V)iew, (S)kip, (R)emove, (O)verwrite: [v/s/r/o] " >> while read c; do >> case $c in >> r|R) rm -v "$pacfile"; break ;; >> + o|O) mv -v "$pacfile" "$file"; break ;; >> v|V) >> $diffprog "$pacfile" "$file" >> rm -iv "$pacfile"; break ;; >> s|S) break ;; >> - *) echo -n " Invalid answer. Try again: >> [v/s/r] "; continue ;; >> + *) printf " Invalid answer. Try again: >> [v/s/r/o] "; continue ;; > > Here too. > >> esac >> done >> fi >> -- >> 1.8.0.2 >> > > >
