我在 bash 中有一个进程,我可以使用 Ctrl+C 来调用它以停止。据我所知,这相当于发送 exit(1) 信号。我想通过反复键入 Esc 键而不是 Ctrl+C 来循环遍历这些进程以获取不同输入文件的列表。这里我使用 ping 处理 URL 列表,仅作为示例:
cat /tmp/file
stackoverflow.com
superuser.com
serverfault.com
programmers.stackexchange.com
我怎样才能通过键入 Escape 而不是 Ctrl+C 来循环列表并跳至下一个?
cat /tmp/file | while read i; do ping $i; done
答案1
您可以使用stty来设置中断字符。
stty intr q
将中断字符设置为您的“q”键。(抱歉,我目前不确定 ESC 代码)。要将其设置回 CTRL+C,请执行以下操作:
stty intr ^C