2014-10-02 32 views
0

我正在尝试创建一个shell脚本,它将使用命令行参数并创建一个或多个基于该脚本的文件。我知道每个命令行参数都存储在$ 0,$ 1,$ 2 ...等等,所以这就是这个循环的基础。使用i作为bash shell脚本中的变量

但是,$ i字面上被视为数字1,2 ......而不是$ 1中的数值。

+3

http://stackoverflow.com/questions/255898/how-to-ite-over-arguments-in-bash-script#255913 – PSkocik 2014-10-02 20:26:01

+0

谢谢!这实际上很有帮助。即使不使用for循环,我也可以完成整个例程。 – user2793442 2014-10-02 20:28:27

回答

2

您将需要使用间接参数扩展:

echo "File...: ${!i}" 
touch "${!i}" 

然而,这是更简单,只是重复的论点自己过来:

for f in "[email protected]"; do 
    echo "File...: $f" 
    touch "$f" 
done