Bash:立即终止当前子命令和脚本

Bash:立即终止当前子命令和脚本

我想按Ctrl^C立即终止当前正在运行的子命令和 bashscript 本身。

最小脚本:

install_packages="python-wheel\
                  make\
                  python-setproctitle\
                  python-distro"
remove_packages="libnotify\
                 python-setuptools\
                 python-distutils-extra"

sudo pamac install $install_packages
sudo pamac remove $install_packages

所以我想终止当前的 pamac 安装以及脚本本身,这样帕马克删除甚至没有开始。

答案1

这是执行脚本文件时 bash 的默认行为。中断信号将终止正在执行脚本的进程。脚本中当前正在执行的命令将停止,并且不会执行任何进一步的命令。

✔ ~$ echo $BASH_VERSION
5.0.17(1)-release
✔ ~$ echo "echo 1
> sleep 5
> echo 2
> " > t.sh
✔ ~$ bash t.sh
1
^C
✘-INT ~$ 

相关内容