Re: extfs shell scripts [was: Re: Call for development freeze]



Leonard den Ottolander wrote:
Hello Roland,

On Wed, 2004-11-10 at 07:43, Roland Illig wrote:

Here are some more issues regarding the VFS shell scripts.

--- vfs/extfs/audio.in	18 Oct 2004 02:20:09 -0000	1.8
-	A=`echo $A | sed -e 's/\.//' -e 's/^\(.\)$/0\1/'`
+	A=`echo "$A" | sed -e 's/\.//' -e 's/^\(.\)$/0\1/'`

Unnecessary as the value of $A is only parsed, not passed to a shell,
and not even interpreted by echo.
I always provide a single string to echo(1). $A could be splitted into 
many words and lose some whitespace. "$A" passes the value of $A 
literally to the command, $A interprets it.
-    if [ "$2" == "CDDB" ]; then
+    if [ x"$2" = x"CDDB" ]; then
More correct wrt old versions of bash. Ok.
This has nothing to do with bash. Let $2 be "-f". Then the [(1) command 
line looks like:
[ -f == CDDB ]

The "-f" is interpreted as the command to look for the existence of a regular file. Putting an "x" (or almost every other character) in front of the "-f" makes the "==" the command.

Index: vfs/extfs/trpm
-name=`sed 's/.*\///;s/\.trpm$//' "$2"`
+name=`echo "$2" | sed 's/.*\///;s/\.trpm$//'`
Please explain. What's the use of putting an echo "$2" in front? Again,
quotes are not needed here. And shouldn't this command include an -e in
this case?
The sed command is most likely supposed to transform the value of $2, 
not the file named by $2.
The "-e" option is not necessary when passing exactly one command to sed.

For the rest: Quoting of temporary file names is unnecessary as they
have no spaces in their names, but technically correct, so ok.
What about MC_TMPDIR="/Users/Leonard den Ottolander/temp"? Currently 
most scripts will break, but I want them not to break. What if 
MC_TMPDIR="/tmp/foo /*"?
rm -rf $MC_TMPDIR

Roland



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]