我正在创建一个 shell 脚本并想在后台执行某个 while 循环。通常,我会创建一个包含以下内容的新watch.sh
文件:
while true; do ...; done
然后,在我的主 shell 脚本中,我会这样做:
nohup watch.sh >/dev/null 2>&1 &
我的问题是这是否可以在不引入watch.sh
文件的情况下完成?即是否可以在后台直接运行某个while循环?像下面这样的工作吗?
while true; do ...; done &
这是一个 shell 脚本,但如果需要,我可以继续使用 bash。
是的,类似 sh 的 shell(包括 bash/zsh)让您可以像使用常规命令一样使用任何块(复合命令),必要时自动启动子 shell 进程——它可以用作管道的一部分,放入后台,重定向,甚至有自己的“退出代码”,可以在条件下使用。