How can I remap Ctrl+C to send an interrupt signal with another key?

2

1

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

719016

Posted 2011-07-14T02:27:44.603

Reputation: 2 899

Answers

2

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

A Dwarf

Posted 2011-07-14T02:27:44.603

Reputation: 17 756

Thx. I've asked for the Esc code in another question. http://superuser.com/questions/310418/how-can-i-redefine-the-interrupt-signal-to-escape-key

– 719016 – 2011-07-14T09:03:41.020