I want to disable Control-C while running shell bash script program under UNIX / Linux like operating systems. How do I disable Control-C?
You need to use the trap command which can enable or disable keyboard keys such as Crtl-C. SIGINT is Crtl-C and it is represented using number 2. Signal names are case insensitive and the SIG prefix is optional. trap -l prints list of signal names and their corresponding numbers. Note that a signal can be sent to the shell with "kill -signal $$".
Syntax
# Signal 2 is Ctrl+C # Okay disable it: trap '' 2 command1 command2 command3 # Enable Ctrl+C trap 2
Here is a sample shell script:
#!/bin/bash trap '' 2 echo "This is a test. Hit [Ctrl+C] to test it..." sleep 20 trap 2
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 2 comments… read them below or add one }
Syntax error:
trap 2
should be
trap – 2
Syntax error:
trap 2
should be
trap – 2
or else it will continue to ignore ctrl-c.