在 Linux 上暂停循环

在 Linux 上暂停循环

ffmpeg我正在使用以下代码在我的 Linux 服务器上循环。

这就是我所拥有的:

#!/bin/bash
while :; do
    ffmpeg -re -i "input" output.mp4
done

我想要做的是暂停循环以便它停止循环直到我想要恢复,充当流的“关闭”和“打开”开关,而不必每次都重新启动服务器:)

答案1

尝试这个:

#!/bin/bash

echo 'Press "s" to pause loop or Ctrl+c to stop'
n=1 
while true; do
    read -r -t 0.5 -n 1 -s stop
    [ -n "${stop}" ] && {
      read -p 'Paused... press Enter button for continue' x
    }

    ffmpeg -re -i "input" output.mp4

    n=$(( n+=1 ))
    echo "Loop Counter: ${n}"
done

相关内容