01-24-2013
Quote:
This uses the terminal's built-in properties for read timeouts:
Code:
#!/bin/sh
old_tty_settings=$(stty -g)
# This restores the terminal settings even if you quit with ctrl-C
trap "stty $old_tty_settings" EXIT
stty -echo -icanon min 1 time 1
STRING=$(dd if=/dev/tty count=1 2>/dev/null)
echo "Read $STRING"
The terminal waits for multiple keystrokes yet times out quickly, and no loop is required. I can't type fast enough to get more than one letter in, but if I paste something to the terminal it gets the whole thing.
You still have to use dd, not the read builtin, because read messes with the terminal device too, undoing all the fancy settings you've been trying to arrange.
This is a good solution and it works well. Thanks.
Yeah we knew we could make a working c program, but just using a script makes it a simpler process.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
HI guys
I need to store the output of a sql query in a variable, can you tell me how to do that
eg) select count(*) from s_escl_req
$count = count(*) from s_escl_req
how would i store the count(*) from the sql statement in a variable called $count.
thanks (3 Replies)
Discussion started by: ragha81
3 Replies
2. Shell Programming and Scripting
Hi all,
I had written 3 KSH scripts for different functionalities. In all these 3 files there are some 30 variables in common. So I want to reduce the code by placing these variables in a common properties file named (dataload.prop/dataload.parms/dataload.txt) or txt file and access it... (1 Reply)
Discussion started by: mahalakshmi
1 Replies
3. Shell Programming and Scripting
I have a variable $exe in a shell script file a.sh which I need to access in another shell script file b.sh. How can I do that? :rolleyes:
Thanks!! (2 Replies)
Discussion started by: looza
2 Replies
4. Shell Programming and Scripting
Hi All,
I have a shell script called sample1.sh where I have 2 variables. Now I have another shell script called sample2.sh. I want the variables in sample1.sh to be available to sample2.sh.
For example. In sample1.sh I am finding the sum of 2 numbers namely a and b. Now I want to access... (2 Replies)
Discussion started by: rsendhilmani
2 Replies
5. Shell Programming and Scripting
mysqldump --compact --add-drop-table -h192.168.150.80 -uroot -p somePass $combined | sed '/$combined/$table/g' | mysql $databaseThe sed part is not working from the above statement.
The variables combined and table are already defined and instead of showing the actual variable, it is executing the... (4 Replies)
Discussion started by: shantanuo
4 Replies
6. Shell Programming and Scripting
Hi,
I am new to shell scripting. I need to extract data between repeating tags from an xml file and store the data in an array to process it further.
<ns1:root xmlns:ns1="http://example.com/config">
<ns1:interface>in1</ns1:interface>
<ns1:operation attribute1="true" attribute2="abd"... (2 Replies)
Discussion started by: sailendra
2 Replies
7. UNIX for Dummies Questions & Answers
Hello,
I want to add a letter to the end of a string if it repeats in a column.
so if I have a file like this:
DOG001
DOG0023
DOG004
DOG001
DOG0023
DOG001
the output should look like this:
DOG001-a
DOG0023-a
DOG004
DOG001-b (15 Replies)
Discussion started by: verse123
15 Replies
8. UNIX for Dummies Questions & Answers
Dear Unix gurus,
We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies
9. Shell Programming and Scripting
Dear Unix gurus,
We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies
10. Shell Programming and Scripting
Hi All,
I have a script which intends to create as many variables at runtime, as the number of parameters passed to it. The script needs to save these parameter values in the variables created and print them
abc.sh
----------
export Numbr_Parms=$#
export a=1
while
do
export... (3 Replies)
Discussion started by: dev.devil.1983
3 Replies
TTY(4) Linux Programmer's Manual TTY(4)
NAME
tty - controlling terminal
DESCRIPTION
The file /dev/tty is a character file with major number 5 and minor number 0, usually of mode 0666 and owner.group root.tty. It is a syn-
onym for the controlling terminal of a process, if any.
In addition to the ioctl() requests supported by the device that tty refers to, the following ioctl() request is supported:
TIOCNOTTY
Detach the current process from its controlling terminal, and remove it from its current process group, without attaching it to a
new process group (that is, set its process group ID to zero). This ioctl() call only works on file descriptors connected to
/dev/tty; this is used by daemon processes when they are invoked by a user at a terminal. The process attempts to open /dev/tty; if
the open succeeds, it detaches itself from the terminal by using TIOCNOTTY, while if the open fails, it is obviously not attached to
a terminal and does not need to detach itself.
FILES
/dev/tty
SEE ALSO
mknod(1), chown(1), getty(1), termios(3), console(4), ttys(4)
Linux 1992-01-21 TTY(4)