Linux 发送Ctrl+;如果您在输出中看到重复的模式,请在bash脚本中使用C

Linux 发送Ctrl+;如果您在输出中看到重复的模式,请在bash脚本中使用C,linux,bash,shell,sigint,Linux,Bash,Shell,Sigint,我试图调用bash脚本中的一个脚本,该脚本需要Ctrl+c信号才能停止。只有当我看到来自被调用脚本的重复输出行为时,我才需要停止使用Ctrl+c,然后继续使用脚本的其余部分 FLOW of Script A.sh: 1. environment setup for A.sh 2. call script B.sh 3. If you see repeated behavior in the output pattern of the called script B.sh, send Ctrl+c

我试图调用bash脚本中的一个脚本,该脚本需要Ctrl+c信号才能停止。只有当我看到来自被调用脚本的重复输出行为时,我才需要停止使用Ctrl+c,然后继续使用脚本的其余部分

FLOW of Script A.sh:
1. environment setup for A.sh
2. call script B.sh
3. If you see repeated behavior in the output pattern of the called script B.sh, send Ctrl+c
4. continue with the rest of script code.

好的,ctrl+C是信号。您应该能够使用pkill命令发送中断信号

pkill -SIGINT B.sh

我不会给你完整的代码(如果你自己制作的话,你会记得更清楚),但我会给你这个想法

  • 为a.sh执行环境设置
  • 运行b.sh,并将标准件和标准件连接至awk
  • 在awk中,将每一行添加到hashmap,并增加每次插入的计数器。。 3.1. 检查hashmap中是否有任何元素的值大于1。。 3.2. 如果值大于1,则使用系统调用执行pkill-SIGINT b.sh

  • ctrl-c不是一个信号。它是一个键序列,在执行时向前台进程组发送一个SIGINT。您要做的是发送一个中断信号。为此,您需要
    expect
    。但是如果你说python,我建议你使用
    pexpect