Linux shell脚本中的位置参数量

时间:2014-08-27 14:24:30

标签: bash

我制作一个脚本(这只是一个更大的脚本的一部分)。

我想制作一个脚本: 将我脚本参数中提到的目录中的文件移动到目录/ tmp

#!/bin/bash
mv "$1"/* /tmp

当我只在我的脚本参数中提到一个目录时,这一次工作正常。

如果我想在参数中提及3个目录,我可以复制粘贴并将$ 1替换为2美元和3美元。

但是,是否有更简单的方法可以在执行我的脚本时添加无限量的参数(目录)?

1 个答案:

答案 0 :(得分:2)

您可以使用$@循环遍历所有元素:

#!/bin/bash
for dir in "$@"
do
   mv "$dir"/* /tmp
done

这样你就不必事先知道你得到了多少参数。