gpt4 book ai didi

Bash 脚本从文件执行命令,但如果取消则跳转到下一个

转载 作者:行者123 更新时间:2023-11-29 09:48:25 26 4
gpt4 key购买 nike

我想制作一个脚本来执行文件中的一组命令

例如,该文件有一组 3 个命令 perl script-a、perl script-b、perl script-c,每个命令在一个新行上,我制作了这个脚本

#!/bin/bash
for command in `cat file.txt`
do
echo $command
perl $command

done

问题是某些脚本卡住了或需要很长时间才能完成,我想查看它们的输出。如果我在当前执行的命令上发送 CTRL+C 以跳转到 txt 文件中的下一个命令而不是取消 wole bash 脚本,则可以制作 bash 脚本。

谢谢

最佳答案

您可以使用 trap 'continue' SIGINT 忽略 Ctrl+c:

#!/bin/bash
# ignore & continue on Ctrl+c (SIGINT)
trap 'continue' SIGINT

while read command
do
echo "$command"
perl "$command"
done < file.txt

# Enable Ctrl+c
trap SIGINT

此外,您不需要调用 cat 来读取文件的内容。

关于Bash 脚本从文件执行命令,但如果取消则跳转到下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com