如何运行 /tmp/1.sh /tmp/2.sh /tmp/3.sh /tmp/4.sh 然后再次循环运行 /tmp/1.sh ?最好是无限循环
for在循环内使用循环while true。
while true; do
for script in /tmp/{1..4}.sh; do
"$script"
done
done
Run Code Online (Sandbox Code Playgroud)
您可以使用任何成功的命令,而不需要执行任何操作来代替true包含((1)), [[ x ]], printf '', eval, :,尽管true这是最明显的。
您还可以使用 C 风格:
for ((;;)) {
for script in /tmp/{1..4}.sh; do
"$script"
done
}
Run Code Online (Sandbox Code Playgroud)
/tmp/{1..4}.sh(最初来自 zsh 的非标准语法)是表示列表的一种方法/tmp/1.sh /tmp/2.sh /tmp/3.sh /tmp/4.sh。您还可以使用 csh 样式/tmp/{1,2,3,4}.sh或/tmp/1.sh /tmp/2.sh /tmp/3.sh /tmp/4.sh. 您还可以使用 globbing with来扩展到所有以词法顺序结尾的/tmp/*.sh非隐藏文件名,尽管在没有's glob 限定符或's运算符的 bash 中,您希望该 glob 不扩展到没有匹配时的文字。/tmp.shzsh(N)ksh93~(N)shopt -s nullglob/tmp/*.sh
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |