📅  最后修改于: 2023-12-03 14:50:00.313000             🧑  作者: Mango
在 Shell/Bash 脚本编程中,经常会有需要保持容器运行而不直接退出的情况,这时候就需要使用类似于无限循环的代码来实现。
最基本的无限循环代码如下:
#!/bin/bash
while true
do
echo "Hello World!"
sleep 1
done
在这个例子中,我们使用了 while true 的语法来构建一个无限循环,每次循环中均会输出 "Hello World!" 并等待 1 秒钟。
在使用无限循环时,我们通常需要有一种方式来结束循环,比如在输入 Ctrl + C 的时候退出循环。这时候可以使用 trap 命令来实现:
#!/bin/bash
function cleanup {
echo "Bye Bye!"
exit 0
}
trap cleanup INT
while true
do
echo "Hello World!"
sleep 1
done
在这个例子中,我们定义了一个 cleanup 函数来输出 "Bye Bye!" 并退出程序,然后使用 trap 命令来捕获 INT 信号(即 Ctrl + C),当接收到 INT 信号时,会自动执行 cleanup 函数。
上面的例子中,我们使用了 sleep 命令来控制每次循环之间的等待时间,这也是实现无限循环的一种方式。
除了等待一定的时间之外,sleep 命令还可以接受其他的时间单位,比如毫秒(-m)、微秒(-u):
#!/bin/bash
while true
do
echo "Hello World!"
sleep 1000ms
done
在这个例子中,我们使用了毫秒作为等待时间单位。