When i use 'trap' combined with select loop, namely when i try to hit CTRL+C to break out while options are displayed, it will just print ^C in terminal. If i remove 'trap' from script it will normally exit out, that is it will accept CTRL+C.
I've tested this on two different versions of bash (One shipped with CentOS and one shipped with Fedora), and i have an issue with the one from Fedora (4.4.23(1)-release). Bash version 4.2.46(2)-release that is shipped with CentOS seems to work fine. I've also tested this on local terminal and remote (via ssh). And problem is always on Fedora side.
I will post code to see what I'm talking about
This one doesn't work:
#!/bin/bash
trap exit SIGINT
select opt in One Two Three; do
break
done
If i were to remove the entire 'trap exit SIGINT' line, it will work fine and accept CTRL+C without issues.
Any ideas how to fix or bypass this ?
break
specified to leaveselect
command?while true ; do cat ; done
example in the bug report sr #108721: SIGINT trap not executing properly when commands interrupted; strange interaction with loops. which I cannot reproduce on bash 4.4.12(1)-release. Also your example works fine here (trap is executed).