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
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- My 10 UNIX Command Line Mistakes
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!
- Email FAQ to a friend
- Download PDF version
- Printable version
- Comment RSS feed
- Last Updated: 08/14/09



{ 0 comments… add one now }