09-22-2006
A few improvements and your code will be pretty good.
The switch/case statement is useless, just put the code inside the if/then/else.
case 2 will NOT print to a file.
That 'wait' is going to crash if it ever gets run since wait demands a pointer. But more likely it'll just hang forever.
You have done absolutely no error checking anywhere at all ever here, so it could be failing anywhere without you ever knowing. Why not have redirect() return a value? After all, a user might ask for something impossible.
If you run this program from a shell, chances are your program will never see the >> and < stuff since the shell handles that for you. You'll need to make them strings, like '<<', to prevent the shell doing that.
You haven't told us what the error is, though. What is it?
Last edited by Corona688; 09-22-2006 at 02:16 PM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi all,
I am attempting to read tar images from a DLT tape, and have recieved an error, which i don't know:
tar: blocksize = 8
tar: directory checksum error
I have been able to read from other tapes, using the same command (tar -tvf /devicename) but this time i have an... (3 Replies)
Discussion started by: colesy
3 Replies
2. UNIX for Dummies Questions & Answers
I have been attempting to read a DLT tape, but encountered problems. I have applied patches from SUN that 'resolve' known problems with tape reading etc...but still the error!
Techsupport reckon that the data/tape is corrupt. I would like to think they aren't.
Are there any issues with... (10 Replies)
Discussion started by: colesy
10 Replies
3. Shell Programming and Scripting
I have a script that reads a file then moves all the files that are listed within that file.
So read file A then copy all files that are listed within.
I have the script append a log everytime a file is moved.
My issue is that it's appending the log even though the file was not found.
... (3 Replies)
Discussion started by: whegra
3 Replies
4. Solaris
Hi,
I'm trying to install Solaris 10 on my Ultra 10 but it won't boot. I tried an original cd and a downloaded one. I got the following error:
"error reading sectors" (yes, i checked the md5 sums)
For the complete error see the following shot:
... (2 Replies)
Discussion started by: doelman
2 Replies
5. Programming
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:
---------... (1 Reply)
Discussion started by: vvaidyan
1 Replies
6. UNIX for Dummies Questions & Answers
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:
---------... (3 Replies)
Discussion started by: vvaidyan
3 Replies
7. Shell Programming and Scripting
Hello,
I've managed to get my .procmailrc file to work. At least it triggers a script which creates a file. But the file is empty. How do I get at the data that's been piped? I've done much creative googling to no avail. I belive it should be in stdin, but I can't figure out how to access... (4 Replies)
Discussion started by: mmesford
4 Replies
8. UNIX for Advanced & Expert Users
Hi - I am getting the error
`Error reading response length from authentication socket'
when I ssh from my cluster to another cluster, and then back to my cluster. It doesn't seem to affect anything, but it's just annoying that it always pops up and tends to confuse new users of the cluster. I... (1 Reply)
Discussion started by: cpp6f
1 Replies
9. SCO
Hello...
i got an error in my SCO OpenServer 6. the error is:
msgcnt 1 vxfs: mesg 016: vx_ilisterr - / file system error reading inode 373
Can anyone help me? (1 Reply)
Discussion started by: AndryMB
1 Replies
10. Shell Programming and Scripting
script:
while read inputline; do
if ; then
if ; then
break
fi
fi
done
Looks like the script hangs when stdin is empty or contains space. Any ideas on how to circumvent this? is it possible to use getline to process stdin content? (4 Replies)
Discussion started by: ux4me
4 Replies
OPENVT(1) Linux 1.x OPENVT(1)
NAME
openvt - start a program on a new virtual terminal (VT).
SYNOPSIS
openvt [-c vtnumber] [OPTIONS] [--] command
DESCRIPTION
openvt will find the first available VT, and run on it the given command with the given command options, standard input, output and error
are directed to that terminal. The current search path ($PATH) is used to find the requested command. If no command is specified then the
environment variable $SHELL is used.
OPTIONS
-c, --console=VTNUMBER
Use the given VT number and not the first available. Note you must have write access to the supplied VT for this to work;
-f, --force
Force opening a VT without checking whether it is already in use;
-e, --exec
Directly execute the given command, without forking. This option is meant for use in /etc/inittab. If you want to use this feature
in another context, be aware that openvt has to be a session leader in order for -e to work. See setsid(2) or setsid(1) on how to
achieve this.
-s, --switch
Switch to the new VT when starting the command. The VT of the new command will be made the new current VT;
-u, --user
Figure out the owner of the current VT, and run login as that user. Suitable to be called by init. Shouldn't be used with -c or -l;
-l, --login
Make the command a login shell. A - is prepended to the name of the command to be executed;
-v, --verbose
Be a bit more verbose;
-w, --wait
wait for command to complete. If -w and -s are used together then openvt will switch back to the controlling terminal when the com-
mand completes;
-V, --version
print program version and exit;
-h, --help
show this text and exit.
-- end of options to openvt.
NOTE
If openvt is compiled with a getopt_long() and you wish to set options to the command to be run, then you must supply the end of options --
flag before the command.
EXAMPLES
openvt can be used to start a shell on the next free VT, by using the command:
openvt bash
To start the shell as a login shell, use:
openvt -l bash
To get a long listing you must supply the -- separator:
openvt -- ls -l
HISTORY
Earlier, openvt was called open. It was written by Jon Tombs <jon@gtex02.us.es or jon@robots.ox.ac.uk>. The -w idea is from "sam".
SEE ALSO
chvt(1), doshell(8), login(1)
19 Jul 1996 V1.4 OPENVT(1)