我很难找到分号和/或大括号的正确组合。我想这样做,但作为命令行的一行代码:
while [ 1 ]
do
foo
sleep 2
done
我很难找到分号和/或大括号的正确组合。我想这样做,但作为命令行的一行代码:
while [ 1 ]
do
foo
sleep 2
done
当前回答
你甚至不需要使用do and done。对于无限循环,我发现使用大括号更容易理解。例如:
for ((;;)) { date ; sleep 1 ; }
这在bash和zsh中有效。在sh。
其他回答
对于简单的过程监视,请改用监视
你甚至不需要使用do and done。对于无限循环,我发现使用大括号更容易理解。例如:
for ((;;)) { date ; sleep 1 ; }
这在bash和zsh中有效。在sh。
使用while:
while true; do echo 'while'; sleep 2s; done
用于循环:
for ((;;)); do echo 'forloop'; sleep 2; done
使用递归,(与上面有点不同,键盘中断不会停止它)
list(){ echo 'recursion'; sleep 2; list; } && list;
非常简单的无限循环..:)
while true ; do continue ; done
你的问题是:
while true; do foo ; sleep 2 ; done
冒号总是“true”:
while :; do foo; sleep 2; done