如何在bash中接受多个参数
我正试图使我的bash外壳代码能够将多个文件作为参数。我该怎么做 atm这个外壳代码检查是否只有一个文件存在,它每2美元检查一次 我如何让它接受更多的文件作为参数 !/bin/bash 而[!-e$1] 做 睡眠2美元 如果[-e$1] 然后 echo$1已创建! fi 完成如何在bash中接受多个参数,bash,Bash,我正试图使我的bash外壳代码能够将多个文件作为参数。我该怎么做 atm这个外壳代码检查是否只有一个文件存在,它每2美元检查一次 我如何让它接受更多的文件作为参数 !/bin/bash 而[!-e$1] 做 睡眠2美元 如果[-e$1] 然后 echo$1已创建! fi 完成 首先输入睡眠时间,然后循环其余参数 time=$1 shift # Remove time from argument list for file in "$@" do while [ ! -e "$file" ]
首先输入睡眠时间,然后循环其余参数
time=$1
shift # Remove time from argument list
for file in "$@"
do
while [ ! -e "$file" ]
do
sleep "$time"
done
echo "$file was created!"
done
您也不需要两次测试文件是否存在。循环结束时,您知道文件已创建
如果要将时间放在最后,可以使用间接变量循环参数索引
time=${!#} # last argument
for ((i = 1; i < $#; i++))
do
file=${!i}
while [ ! -e "$file" ]
do
sleep "$time"
done
echo "$file was created!"
done
是的,我也在考虑这个问题,但是如果我希望计时器在最后呢?改变你想要的东西在创建文件之前,你会让find命令循环吗?