Visit Our UNIX and Linux User Community


Get Rid ^C when pressed Ctrl-C


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Get Rid ^C when pressed Ctrl-C
# 1  
Old 11-26-2012
Get Rid ^C when pressed Ctrl-C

How do i get rid of the ^C when i pressed Ctrl-C?
# 2  
Old 11-26-2012
Do you want ctrl/C to continue to interrupt (break)?
# 3  
Old 11-26-2012
I am writing a script that show load average in like a bar graph. When i press Ctrl-C it suppose to trap it and pause the bar graph from refreshing. The problem im getting is when i press ctrl-C it pause my graph but it will output ^C into the terminal.
# 4  
Old 11-26-2012
Are you generating the graph on a regular window like putty or are you using x-windows, or a desktop GUI like gnome?

This does what you want with a side effect you do not want
Code:
trap "read foo" INT

You have to push return to continue. The problem is the cursor may be in the middle of your plot.

We can fix that with ANSI escape sequences if your terminal window supports that.
# 5  
Old 11-26-2012
Right now im using the code at bottom.
Code:
stty -ctlecho #get rid of ^C
tput civis #make cursor invinsible

The thing about stty -ctlecho is that it get rid of ^C but it end up showing a weird character. And im working it on ubuntu so gnome terminal.
Quote:
Originally Posted by jim mcnamara
Are you generating the graph on a regular window like putty or are you using x-windows, or a desktop GUI like gnome?

This does what you want with a side effect you do not want
Code:
trap "read foo" INT

You have to push return to continue. The problem is the cursor may be in the middle of your plot.

We can fix that with ANSI escape sequences if your terminal window supports that.
# 6  
Old 11-26-2012
Rather than me blindly giving you code, try using ansi escape sequences inside the
trap statement. Use them to:

Save the cursor position,
then move it to a safe spot,
read foo,
restore the cursor.

The CSI sequences and some of the SGR sequences in this page are worth playing around with a bit. There is a CSI code to turn off the cursor. Some terminal settings are affected by locale, too. If you are using an Asian locale, you are probably using unicode or another wide charset.

See:
ANSI escape code - Wikipedia, the free encyclopedia
# 7  
Old 11-26-2012
Is it possible to change the output ^C to something else like a space?
Quote:
Originally Posted by jim mcnamara
Rather than me blindly giving you code, try using ansi escape sequences inside the
trap statement. Use them to:

Save the cursor position,
then move it to a safe spot,
read foo,
restore the cursor.

The CSI sequences and some of the SGR sequences in this page are worth playing around with a bit. There is a CSI code to turn off the cursor. Some terminal settings are affected by locale, too. If you are using an Asian locale, you are probably using unicode or another wide charset.

See:
ANSI escape code - Wikipedia, the free encyclopedia

Previous Thread | Next Thread
Test Your Knowledge in Computers #702
Difficulty: Medium
The MySQL LIKE operator is a logical operator that tests whether a string contains a specified pattern.
True or False?

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. Shell Programming and Scripting

how can i know the pressed key is arrowup?

Hi all, I need to know how to test a pressed key is arrowup or arrowdown and etc.. I found that the "echo" won't print anything if i enter the arrowup in the below code: read echo "you pressed $REPLY" Then i find a way to achieve my goal. 1 #! /bin/bash 2 3 ARROWUP='\;then... (4 Replies)
Discussion started by: homeboy
4 Replies

5. 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

6. Shell Programming and Scripting

how can i do some action when 'ctrl+d' is pressed

hi Gurus, please why is this happening: when i run this: #!/bin/bash declare -a name declare -a ph declare -a eid r=0; c=1; i=1; n=; echo " name phone email_id" while : do #if ; then #break; #else echo -n "field $i:"; read name ph eid; let "i++"; ... (5 Replies)
Discussion started by: tprayush
5 Replies

7. Shell Programming and Scripting

detect F5 is pressed

Hello friends, I want to write a shell script in bash shell . Working for the script is to detect any key pressed and disply on screen as "you have pressed: " For example if user pressed F5 then a messaged has to be displayed as "you have pressed F5. Thank you. (4 Replies)
Discussion started by: pradeepreddy
4 Replies

8. Shell Programming and Scripting

Catching ctrl-C or ctrl-D

Hi there, I'm using HP-UX 11 machine. I am running a script, thats gonna take a long time to execute. When I press ctrl-c to come out of my script, I have to catch that signal(ctrl-c) and display that ctrl-c had been pressed. How can I do it. Thanks in advance (2 Replies)
Discussion started by: sendhilmani123
2 Replies

9. 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

10. Programming

know what key is pressed

hi im making a program, and i would like to know how can i know what key was pressed. i'm using Sun5.7 and C. is there a keypress/keypressed function in C? how can i know recognize the keys (enter, tab, shift, etc.)? can i recognize two keys ? (shift+A, ctrl+C, etc) any idea.. thanks (4 Replies)
Discussion started by: DebianJ
4 Replies

Featured Tech Videos