12-04-2004
The trouble is that exec can do several different things...it really needs to be several commands. The code you gave won't work. Change that to
exec $fd < inputfile
and it probably will. But that is not what's meant by an fd.
A fd is always an integer. In shell scripts, it will be a very low integer. By convention:
0 = standard input
1 = standard output
2 = standard error output
The idea is that you write your program to output to fd 1 without knowing what fd one is. Then at execution time you can do stuff like:
echo this > first.file
echo that > second.file
It would be terrible if echo always sent stuff to "first.file". You would need to do:
echo that
cp first.file second.file
or something like that.
By default 0 1 2 are all connected to /dev/tty so you can type input to a program and see the results in your window.
Here is an experiment I just did:
$ expr 1 + 2
3
$ expr 1 + 2 > expr.out
$ cat expr.out
3
$ expr cat + dog > expr.out
expr: non-numeric argument
$
With the last expr command, I have an error. Since the error goes to 2 which is still /dev/tty, I see it immediately, even though the standard which is 1 goes to a file. That why we have both 1 and 2. You can send 1 into a file while 2 is still displayed to you.
Don't want to see error messages? Bad idea usually, but you can do:
expr cat + dog > expr.out 2>/dev/null
And now error messages are thrown away.
expr cat + dog > expr.out
really means
expr cat + dog 1> expr.out
but if you leave the integer off, 1 is assumed for > while 0 is assumed for <
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
linux redhat 8.0
I am getting accustomed to using the -exec command to get around my databse.. and use it to edit and update files..! is this more apllicable than jumping from one directory to the other.. I have set up the databse so that the inode #'s are accessable and can get me from one... (0 Replies)
Discussion started by: moxxx68
0 Replies
2. Shell Programming and Scripting
im having trouble with the comprehending the exec command and the use of file descriptors.
given:
#!/bin/sh
exec 4>&1
exec 1>&2
exec 2>&4
exec 4>&-
echo Hello
would the standard output of this script be sent to STDOUT, STDERR or neither and why???
thanks for the help. (1 Reply)
Discussion started by: rfourn
1 Replies
3. Shell Programming and Scripting
Need to close files which descriptor number are larger than 9 in ksh.
'exec 10>&-' fails with 'ksh: 10: not found'. How do you specify file descriptors which occupies two or more digits in ksh script?
Thanks,
Masaki (2 Replies)
Discussion started by: masaki
2 Replies
4. Shell Programming and Scripting
can any one pls explain the meaning of
exec 1<&5 ?? its urgent (2 Replies)
Discussion started by: santosh1234
2 Replies
5. HP-UX
Hi,
I speak and write english more or less, so I hope my asking be clear.
:)
In the company I am working, they are using control-m software to lunch
shell scripts.
So i put this command in all shell scripts:
export LOGFILE_tmp=$PRODUC_DATA/tmp/${SCRIPT}_${PAIS}_`date... (0 Replies)
Discussion started by: anamcara
0 Replies
6. UNIX for Dummies Questions & Answers
Hi can some one explain the following command , It would really help if some can really elloborate on what is happening out here
export PATH | exec /bin/sh ./auto_approve :q
P.S: This is the first time i am using exec ,so an elloboration what does it do and what is the use of the :q will be... (1 Reply)
Discussion started by: Sri3001
1 Replies
7. Shell Programming and Scripting
Hi,
I have the following lines in a script :
.
.
exec < some_file
.
.
.
I have very little idea about exec command. I would like to know what this does and what will happen if the file some_file does not exist. Specifically, I would like to know whether the lines following this... (5 Replies)
Discussion started by: elixir_sinari
5 Replies
8. Shell Programming and Scripting
Hi,
I want to execute some commands via ssh.
errupdate <enter>
=5A7598C3: <enter>
Report=False <enter>
Log=False <enter>
<CTRL + D>
<CTRL + D>
how can i do this ? I suppose i have to use file descriptor but i don't know how ?
Thank you (2 Replies)
Discussion started by: khalidou13
2 Replies
9. Shell Programming and Scripting
Hello,
I have a text file in the below format:
Source Destination State Lag Status
CQA02W2K12pl:D:\CAQA ... (10 Replies)
Discussion started by: pocodot
10 Replies
10. Shell Programming and Scripting
Hello.
From a script, a command for a test is use :
find /home/user_install -maxdepth 1 -type f -newer /tmp/000_skel_file_deb ! -newer /tmp/000_skel_file_end -name '.bashrc' -o -name '.profile' -o -name '.gtkrc-2.0' -o -name '.i18n' -o -name '.inputrc'
Tha command... (3 Replies)
Discussion started by: jcdole
3 Replies
LEARN ABOUT DEBIAN
griffith
griffith(1) griffith(1)
NAME
griffith - film collection manager
SYNOPSIS
griffith
DESCRIPTION
Griffith is a film collection manager. Adding items to the movie collection is as quick and easy as typing the film title and selecting a
supported source. Griffith will then try to fetch all the related information from the Web.
OPTIONS
-h --help
Show usage information.
-D --debug
Run in debug mode.
-C --clean
find and delete orphan files in posters directory.
--check-dep
check dependencies - if all needed Python modules are installed, it prints nothting.
--sqlecho
Prints all SQL queries to standard output.
--home DIR
Set Griffith's home directory. Use this option if you want to change the default ~/.griffith
Printing movie list:
-c <expr> --cast=<expr>
cast field must contain <expr>
-d <expr> --director=<expr>
director field must contain <expr>
-o <expr> --original_title=<expr>
original title field must contain <expr>
-t <expr> --title=<expr>
title field must contain <expr>
-y <number> --year=<number>
movie must be released in year <number>
-s <columns> --sort=<columns>
set sort columns to <columns>. Example: --sort=o_title,number,director
SEE ALSO
Homepage: <http://www.griffith.cc/>
BUGS
If you want to help or report any bugs founded please visit homepage <http://www.griffith.cc/> or <https://bugs.launchpad.net/griffith>
AUTHORS
Griffith was written by Vasco Nunes and Piotr OA1/4arowski. See the AUTHORS and THANKS files for a list of other contributors.
Copyright (C) 2005-2008 Vasco Nunes <vasco.m.nunes@gmail.com>, Piotr OA1/4arowski <ozarow+griffith@gmail.com>,
This man page was written by Piotr Ozarowski
Dec 20, 2006 griffith(1)