sh脚本中的命令循环

时间:2016-02-09 12:30:49

标签: linux bash

我正在我的覆盆子上创建一个sh脚本来进行游戏中时光倒流。 我已经包含在脚本4命令中,它将连续发生,每个命令都经过测试和工作。现在我的问题是:如何在最后一个命令之后无限期地回到第一个命令?

#!/bin/bash

sudo raspistill -w 1024 -h 768 -o /home/pi/timelapse/a%04d.jpg -t 600000 -tl 30000
sudo kill $(ps ax | grep 'timelapse' | awk '{print $1}')
sudo avconv -r 10 -i /home/pi/timelapse/a%04d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 timelaps$
sudo rm /home/pi/timelapse/*.jpg

所以在sudo rm /home/pi/timelapse/*.jpg之后我想回到第一个命令。

你有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用循环:

#!/bin/sh

while true; do 
    ...
done

或者,重新调用脚本:

#!/bin/sh

...

exec $0 "$@"

坦率地说,在你的情况下,其中任何一个都有风险,因为你根本没有进行任何错误检查,并且你冒着进入相对快速的命令循环而不断失败的风险。至少,您应该使用while sleep 1;代替while true;

暂停一下