Passing ctrl + c in shell scripting


 
Thread Tools Search this Thread
Operating Systems Linux Passing ctrl + c in shell scripting
# 1  
Old 04-07-2011
Passing ctrl + c in shell scripting

Hi,

How to pass ctrl + c in shell scripting.

Regards,
shausy
# 2  
Old 04-07-2011
Please refer to the many examples on this forum for trapping signals

for eg.

https://www.unix.com/unix-advanced-ex...ll-script.html

Hope this helps

Another one from the web is

catch Ctrl-C from shell script
# 3  
Old 04-07-2011
Sending a ctrl-C

If you are trying to send a control-C, that's just sending a SIGINT.

Code:
kill -s SIGINT <PID>

# 4  
Old 04-07-2011
also
Code:
trap exit INT

# 5  
Old 04-08-2011
Thanks for all your response.

Let me tell my requirement clearly,
I have script which runs some commands followed by
....
tail -f /var/log/messages (only way to end this command by passing ctrl + c)
and again i want to run the commands
.....

So i want to pass ctrl + c inside my script just to complete one command and start executing next command.

I tried with trap and kill its completely kill the script, so the remaining part of my script not executing.

Thanks in advance,
Shausy
# 6  
Old 04-08-2011
it seems that the answer to that question might depend on the shell you are using

Apparently if you use csh then you are in luck
Quote:
csh

onintr controls the action of the shell on interrupts. With no arguments, onintr restores the default action of the shell on interrupts. (The shell terminates shell scripts and returns to the terminal command input level). With the - argument, the shell ignores all interrupts. With a label argument, the shell executes a goto label when an interrupt is received or a child process terminates because it was interrupted.
10.9 Built-in Shell Commands


Please read above link. My understanding of your issue is limited to about 30 minutes spent on google but heres my attempt for bash shell

Code:
#!/bin/bash
# user interrupt trap demo
function int_handler {
  echo "-- Tail interrupted"
RUN SECOND SET OF COMMANDS AFTER TAIL
 exit
}
# Establish interrupt handler
PERFORM TASKS BEFORE TAIL COMMAND
trap int_handler INT
# Do some work...
TAIL COMMAND

---------- Post updated at 02:54 AM ---------- Previous update was at 02:30 AM ----------

I made a slight modification to the code and tried to run it on my solaris system. Please have a look

Code:
#!/bin/bash
# user interrupt trap demo
function int_handler {
echo "-- Tail interrupted"
}
# Establish interrupt handler
echo PERFORM TASKS BEFORE TAIL COMMAND
trap int_handler INT
# Do some work...
tail -f /var/log/syslog
echo RUN SECOND SET OF COMMANDS AFTER TAIL


Last edited by pkabali; 04-08-2011 at 03:42 AM..
# 7  
Old 04-08-2011
Maybe you can have a look at this thread :

give a try to smthg like
Code:
doTail() {
while :
do
     trap break INT
     tail -F "${1}"
done
}
doTail /var/log/messages


Last edited by ctsgnb; 04-08-2011 at 04:51 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell scripting with passing arguments

Hi All, I am using the script for creating local queue and passing the arguments while running the script as below n=0 while do e=`expr $n + 3` echo 'DEFINE QL('$e') MAXDEPTH('$6') MAXMSGL('$7') DEFPSIST('$8') '$9'' | /apps/mqm_opt/bin/runmqsc $2 n=`expr $n + 1` done Running the... (5 Replies)
Discussion started by: Anusha M
5 Replies

2. Shell Programming and Scripting

Passing Ctrl+A in shell scripting

Hello , I'm writing script that i use screen to mutiplexe my screen and t not stop execution when ssh connection is closed whit my other PC . So my question is how to send Ctrl+A and Ctrl+D in shell scriting code :confused: Thanks (5 Replies)
Discussion started by: marwen_joe
5 Replies

3. Shell Programming and Scripting

Automation of keyboard inputs..like Ctrl+d and Ctrl+a

Hi..! I'm stuck with my automation of starting a process and keeping it running even after the current ssh session has exited.. So i'm trying to use command 'screen'. which is doing exactly what i wanted, But the problem is automation of the same. i will have to press Ctrl+a and Ctrl+d for... (2 Replies)
Discussion started by: chandana hs
2 Replies

4. UNIX for Dummies Questions & Answers

Ctrl-V + Ctrl-J for newline character does not work inside vi editor

Hi friends, I am trying to add a newline char ('\n') between the query and the commit statement in the following shell script. #! /bin/sh echo "select * from tab; commit;" > data.sql I have tried typing in "Ctrl-V + Ctrl-J" combination which has inserted ^@ (NUL) character but the commit... (1 Reply)
Discussion started by: royalibrahim
1 Replies

5. Shell Programming and Scripting

ctrl-c in shell script

The below script has Perl script in it where it gives the usage details. filer.sh echo echo -en "Enter filer : " read filer echo "test.pl -f $filer -F L" Output ========= The following hosts are online and available: Name Total Allocated Used ... (2 Replies)
Discussion started by: nareshkumar522
2 Replies

6. Shell Programming and Scripting

How to handle CTRL+Z or CTRL+C in shells script?

Hi, while executing shell script, in the middle of the process, if we kill the shell script( ctrl+z or ctrl+c), script will be killed and the files which using for the script will be in the folder. How to handle those scenarios. Is there any possibilities, if user breaks the script, I need to... (3 Replies)
Discussion started by: ckchelladurai
3 Replies

7. Shell Programming and Scripting

Ctrl-C or Ctrl-Z causing exit the session

H! I have written script where it need to invoke the perl script in background, then write the pid in temp file then bring back the job to foreground. whenever the Ctrl-C or Ctrl-Z is pressed in the script has to exit and prompt should be dispalyed. but this script causing exit from shell session... (2 Replies)
Discussion started by: jramesh1
2 Replies

8. UNIX for Advanced & Expert Users

trap ctrl c in shell script

how to trap the ctrl c in unix shell script my script is running in while loop it should not be terminate with ctrl c. if i press ctrl c while running script it shloud ignore the same. please healp.......... thanks in advance (2 Replies)
Discussion started by: arvindng
2 Replies

9. UNIX for Dummies Questions & Answers

scripting Ctrl-D in a shell

Hi, I want to use the "at" command in a loop to start different processes every hour or so, but I don't know how to script a Ctrl-D so I can escape from the "at" after the last command I want to run and then go to the next command in the loop. Example: i=1 while do j=$((i*60)) at... (2 Replies)
Discussion started by: etownbetty
2 Replies

10. AIX

Disable ctrl-c,ctrl-d,ctrl-d in ksh script

I wrote a ksh script for Helpdesk. I need to know how to disable ctrl-c,ctrl-z,ctrl-d..... so that helpdesk would not be able to get to system prompt :confused: (6 Replies)
Discussion started by: wtofu
6 Replies
Login or Register to Ask a Question