我很难找到分号和/或大括号的正确组合。我想这样做,但作为命令行的一行代码:
while [ 1 ]
do
foo
sleep 2
done
我很难找到分号和/或大括号的正确组合。我想这样做,但作为命令行的一行代码:
while [ 1 ]
do
foo
sleep 2
done
当前回答
您还可以将该循环置于后台(例如,当您需要断开与远程计算机的连接时)
nohup bash -c "while true; do aws s3 sync xml s3://bucket-name/xml --profile=s3-profile-name; sleep 3600; done &"
其他回答
while true; do foo; sleep 2; done
顺便说一句,如果在命令提示符下键入多行(如图所示),然后用箭头向上调用历史记录,则会在一行中得到正确的标点符号。
$ while true
> do
> echo "hello"
> sleep 2
> done
hello
hello
hello
^C
$ <arrow up> while true; do echo "hello"; sleep 2; done
非常简单的无限循环..:)
while true ; do continue ; done
你的问题是:
while true; do foo ; sleep 2 ; done
在while的情况下也可以使用sleep命令。让一个内胆看起来更干净。
while sleep 2; do echo thinking; done
冒号总是“true”:
while :; do foo; sleep 2; done
你甚至不需要使用do and done。对于无限循环,我发现使用大括号更容易理解。例如:
for ((;;)) { date ; sleep 1 ; }
这在bash和zsh中有效。在sh。