小编PHP*_*ner的帖子

如何使用Ctrl + C来停止整个脚本而不仅仅是当前命令

我有一个如下脚本:

for ((i=0; i < $srccount; i++)); do
    echo -e "\"${src[$i]}\" will be synchronized to \"${dest[$i]}\""
    echo -e $'Press any key to continue or Ctrl+C to exit...\n' 
    read -rs -n1
    rsync ${opt1} ${opt2} ${opt3} ${src[$i]} ${dest[$i]}
done
Run Code Online (Sandbox Code Playgroud)

如果我按下Ctrl+ C以响应read命令,整个脚本将停止,但如果在命令运行时按Ctrl+ ,则只有当前命令将停止,脚本将继续for循环.Crsyncrsync

有没有办法告诉脚本,当用户按下Ctrl+ C同时rsync运行,停止rsync从剧本本身并退出?

bash ctrl

14
推荐指数
1
解决办法
5888
查看次数

标签 统计

bash ×1

ctrl ×1