例如,在下面的脚本startover从顶部开始:
##########################################################################
## CHECK TIME
##########################################################################
time=$(date +%k%M)
if [[ "$time" -ge 1800 ]] && [[ "$time" -le 2200 ]];then
echo "Not a good time to transcode video!" && exit 0
else
echo "Excellent time to transcode video!" && echo "Lets get started!"
fi
##########################################################################
## CHECK TIME
##########################################################################
startover
Run Code Online (Sandbox Code Playgroud)
还要记住exit 0应该能够停止脚本.
把它放在while循环中.我还建议你添加一个"睡眠",这样你就不会像现在这样快速地使用机器的CPU:
while true; do
##########################################################################
## CHECK TIME
##########################################################################
time=$(date +%k%M)
if [[ "$time" -ge 1800 ]] && [[ "$time" -le 2200 ]]; then
echo "Not a good time to transcode video!" && exit 0
else
echo "Excellent time to transcode video!" && echo "Lets get started!"
fi
##########################################################################
## CHECK TIME
##########################################################################
for i in {1..5}; do
echo $i
sleep 1
done
done
Run Code Online (Sandbox Code Playgroud)
您可以使用以下行"递归":
exec bash "$0" "$@"
Run Code Online (Sandbox Code Playgroud)
由于$0是当前脚本的路径,因此该行在不创建新进程的情况下启动脚本,这意味着您无需担心机器上的进程表溢出过多的重新启动.
| 归档时间: |
|
| 查看次数: |
4641 次 |
| 最近记录: |