【发布时间】:2014-02-13 18:22:47
【问题描述】:
我在两台机器上使用 CentOS 6.4 final。我正在执行一个脚本。
该脚本包含find 命令
path=$1
searchstring=$2
echo `find $path -name $searchString`
for filename in `find $path -name $searchString`
do
echo "$filename"
echo
done
./findfiles.sh /var/log/ *.txt
上述脚本执行良好并打印文件。但是在第二台机器上我得到了usage error: find: paths must precede expression
原因是 *.txt 在 find 命令中被扩展。更改后
find $path -name "$searchString" 中的文件名
它执行得很好。
为什么第一台 CentOS 机器没有出现语法错误?
【问题讨论】:
标签: linux shell centos centos6