我正在尝试编写一个脚本来将所有以.hash结尾的文件追加到md5deep进行验证。文件名中带有空格的文件似乎会破坏这个脚本。
#!/bin/bash
XVAR=""
for f in *.hash
do
XVAR="$XVAR -x $f "
done
md5deep -e $XVAR -r *
每当我运行一个名为“O S.hash”的文件的脚本时,就会出现以下情况:
O: No such file or directory
如果我将 XVAR="$XVAR -x $f "
改为 XVAR="$XVAR -x \'$f\' "
或者 XVAR="$XVAR -x \"$f\" "
md5deep 会将输入解释为 "O 而非预期的字符串。
"O: No such file or directory
脚本中变量的回显显示XVAR为-x 'O S.hash'
或-x "O S.hash"
在shell中手动输入命令,如md5deep -e -x "O S.hash" -r *
可以工作,但如果在脚本中,则该命令似乎会出错。