如何在bash中接受多个参数

如何在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" ]

我正试图使我的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" ]
    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命令循环吗?