I've got a process in bash that I can call to stop using Ctrl+C. As far as I can see, this equals to sending an exit(1) signal. I would like to loop through these processes for a list of different input files by typing the Escape key instead of Ctrl+C over and over. Here I am using ping on a list of URLs just as an example:

cat /tmp/file
stackoverflow.com
superuser.com
serverfault.com
programmers.stackexchange.com

How can I loop over the list and skip to the next by typing Escape instead of Ctrl+C?

cat /tmp/file | while read i; do ping $i; done
link|improve this question

73% accept rate
feedback

1 Answer

up vote 1 down vote accepted

You can use stty to set the interrupt character.

stty intr q

Will set the interrupt character to your 'q' key. (I'm sorry, I'm not sure about the ESC code at this time). To set it back to CTRL+C, do:

stty intr ^C
link|improve this answer
Thx. I've asked for the Esc code in another question. superuser.com/questions/310418/… – 130490868091234 Jul 14 '11 at 9:03
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.