当我运行以下命令
./command *
使用此脚本
#!/bin/bash
for f in ./$1
do
echo $f
done
仅回显$ 1中指定的第一个文件。我的问题是为什么?
因为您在运行命令时没有使用单引号或双引号,所以:
./command '*'
或者:
./command "*"
或者,如果您确实希望使用./command *
,请在脚本中进行以下修改:
#!/bin/bash
for f in ./"$@"
do
echo $f
done
这是因为$1
引用命令中的第一个参数,而引用命令$@
中的所有参数。
还要阅读这种意义上的一些文档:http : //tldp.org/LDP/abs/html/internalvariables.html#APPREF
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句