04-03-2018
In addition to using functions that get characters (rather than lines) from a file, you'll also need to put the input file descriptor into raw (rather than cooked) input mode if you want to read characters from a terminal device without waiting for a full line to be entered. Look at the man pages for tcgetattr(), tcsetattr(), and termios.h to see how to do this.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Now, am in a very tight situation here. I really dont expect anyone to understand but please, try your best.
am trying to right a program that goes back to the previous entry to correct a mistake.
heres what am trying to do. i write a program like this
Name : James Holgston... (1 Reply)
Discussion started by: TRUEST
1 Replies
2. Shell Programming and Scripting
Hellow every body
I am trying to write a very simple script in an executable file as following
if ($?PWD) then
echo "OK"
else
echo "No"
endif
but I am getting error during execution in c shell as
synthax error at line 4 , unexpected end of file
Please advise (2 Replies)
Discussion started by: Reza Nazarian
2 Replies
3. Programming
I am programming the following simple shell program. It works for the most part, things like 'ls' and 'ps' work just fine. However when I add options, (example, ls -l) it does not execute the command. Also, I've been trying to add an "exit" command, so that I don't have to use the iterrupt; but... (3 Replies)
Discussion started by: TexasGuy
3 Replies
4. Shell Programming and Scripting
How to write a shell script which takes 3 strings as positional parameters,first and second are file names and third is a directory.if the two files exist in `pwd` and they contain a specific pattern and their size is greater than 32 bytes,moves these files into directory? (1 Reply)
Discussion started by: rameshparsa
1 Replies
5. Shell Programming and Scripting
hello,
i have problem in awk filter in shell to concatenate two string
plz send me a solution as soon as possible
from
jyoti ardeshana (4 Replies)
Discussion started by: jyotiardeshana
4 Replies
6. Shell Programming and Scripting
in the beginners book i have it gives an exercise to try. saying to make a script that examines the time. it should keep examining every second or so and say some sort of message. Can anyone help me get going.
Thanks (3 Replies)
Discussion started by: bebop1111116
3 Replies
7. Shell Programming and Scripting
I want to print the value of variables a1, a2, a3 in for loop in the following program:
a1=this
a2=is
a3=printed
for((i=1;i<4;i++))
do
var=a$i
#w=`echo $var`
e=${var}
echo $e
done
But actually I get a1,a2,a3 as the output not the "this is printed"
So the main question is if I... (3 Replies)
Discussion started by: adgarg
3 Replies
8. Shell Programming and Scripting
Iam having file 1 as
wc -l file1 is 8
QWEERTYUU|7927836357398398398913 yuyuyu uyiuyuyuyuy yuiyuiyuyuyy
FDHGFSHAJK|1476887897877777777771 iopwiiwpoi e
.
.
.
.
I Need to read the abouve line in file1
so iam using the command as
tail -n 8... (8 Replies)
Discussion started by: nivas
8 Replies
9. Shell Programming and Scripting
Hi all,
I am trying to get a file from an ftp server and i have the list of files which needs to be get from the ftp server.
grep unix_prg*.* log.txt > log1.txt
log1.txt (which has the list of files)
06-29-09 00:00AM 3550258 unix_prg090629
06-28-09 07:00PM ... (7 Replies)
Discussion started by: raghav1982
7 Replies
10. Homework & Coursework Questions
Hi all,
I have an assignment from school to write a shell program in linux. the idea is to exercise fork() and execv() functions.. the shell program is supposed to be the master and every command that the user prints will run in a new process. we also need to try running the command in every... (1 Reply)
Discussion started by: r3vive
1 Replies
LEARN ABOUT MINIX
termios
TERMIOS(3) Library Functions Manual TERMIOS(3)
NAME
termios, tcgetattr, tcsetattr, cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed, tcsendbreak, tcdrain, tcflush, tcflow - change terminal
attributes
SYNOPSIS
#include <termios.h>
int tcgetattr(int fd, struct termios *tp)
int tcsetattr(int fd, int action, const struct termios *tp)
speed_t cfgetispeed(const struct termios *tp)
speed_t cfgetospeed(const struct termios *tp)
int cfsetispeed(struct termios *tp, speed_t speed)
int cfsetospeed(struct termios *tp, speed_t speed)
int tcsendbreak(int fd, int duration)
int tcdrain(int fd)
int tcflush(int fd, int queue_selector)
int tcflow(int fd, int action)
DESCRIPTION
These are the user functions that modify the tty attributes mentioned in tty(4). In the following, fd refers to an open terminal device
file, tp is the address of a struct termios, and speed and values of type speed_t are equal to one of the B0, B50, etc. baud rate symbols.
All functions, symbols, and types are declared in <termios.h>.
The effects of the tty functions are:
tcgetattr(fd, tp)
Get the current settings of the tty attributes.
tcsetattr(fd, TCSANOW, tp)
Set the terminal attributes. The change occurs immediately.
tcsetattr(fd, TCSADRAIN, tp)
Set the terminal attributes. The change occurs once all the output waiting in the output queues has been transmitted. This should
be used when options affecting output are changed.
tcsetattr(fd, TCSAFLUSH, tp)
Set the terminal attributes. But first wait until all the output waiting in the output queues has been transmitted. All input
waiting in the input queues is then discarded and the change is made. This should be used when switching from canonical to non-
canonical mode or vice-versa. (Oddly enough, this is seldom what you want, because it discards typeahead. An editing shell does
the Right Thing if it uses TCSANOW instead. POSIX may not guarantee good results, but in practice most systems make the canonical
input available in raw mode.)
cfgetispeed(tp)
Return the input baud rate encoded in the termios structure.
cfgetospeed(tp)
Return the output baud rate encoded in the termios structure.
cfsetispeed(tp, speed)
Encode the new input baud rate into the termios structure.
cfsetospeed(tp, speed)
Encode the new output baud rate into the termios structure.
tcsendbreak(fd, duration)
Emit a break condition on a serial line for a time indicated by duration. (Always 0.4 seconds under Minix, duration is ignored.)
tcdrain(fd)
Wait until all output waiting in the output queues has been transmitted.
tcflush(fd, TCIFLUSH)
Flush the input queue. (I.e. discard it.)
tcflush(fd, TCOFLUSH)
Flush the output queue.
tcflush(fd, TCIOFLUSH)
Flush the input and output queues.
tcflow(fd, TCOOFF)
Suspend output. (Like the effect of STOP.)
tcflow(fd, TCOON)
Restart output. (Like the effect of START.)
tcflow(fd, TCIOFF)
Transmit a STOP character intended to make the remote device stop transmitting data.
tcflow(fd, TCION)
Transmit a START character to restart the remote device.
SEE ALSO
stty(1), tty(4).
DIAGNOSTICS
All functions return 0 unless otherwise specified, and -1 on error with errno set to indicate the type of error. The most notable errors
are ENOTTY if fd does not refer to a terminal device, and EINTR if one of the functions waiting for output to drain is interrupted.
NOTES
It may be interesting to know that the functions operating on the tty are directly translated into the following Minix ioctl requests:
TCGETS, TCSETS (now), TCSETSW (drain), TCSETSF, (flush), TCSBRK, TCDRAIN, TCFLSH, and TCFLOW. You should only use this knowledge when try-
ing to understand the tty driver code, of course.
BUGS
AUTHOR
Kees J. Bot (kjb@cs.vu.nl)
TERMIOS(3)