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
STTY(3) BSD Library Functions Manual STTY(3)
NAME
stty, gtty -- set and get terminal state (defunct)
LIBRARY
Compatibility Library (libcompat, -lcompat)
SYNOPSIS
#include <sgtty.h>
stty(int fd, struct sgttyb *buf);
gtty(int fd, struct sgttyb *buf);
DESCRIPTION
These interfaces are obsoleted by ioctl(2). They are available from the compatibility library, libcompat.
The stty() function sets the state of the terminal associated with fd. The gtty() function retrieves the state of the terminal associated
with fd. To set the state of a terminal the call must have write permission.
The stty() call is actually 'ioctl(fd, TIOCSETP, buf)', while the gtty() call is 'ioctl(fd, TIOCGETP, buf)'. See ioctl(2) and tty(4) for an
explanation.
DIAGNOSTICS
If the call is successful 0 is returned, otherwise -1 is returned and the global variable errno contains the reason for the failure.
SEE ALSO
ioctl(2), tty(4)
HISTORY
The stty() and gtty() functions appeared in 4.2BSD.
BSD
June 4, 1993 BSD