Wrong. The other time it knows it's done with a file descriptor is when that file descriptor is closed.
Which is the model we have already. Your point?
Quote:
So why should "exec $fd<&-" be the only way to tell the shell it's time to close a file descriptor?
A few good reasons:
1) Right now there's no "special" files in a shell, you can do as you please even with stdin/stdout/stderr. Adding new features that act in different ways would have to work around these basic three if you want "echo asdf | something" to still work, making the language much less orthogonal.
2) Making opening, closing, and inheriting files more complicated makes the whole process of piping data between commands more complicated since it uses the same files and mechanisms. (Unless, as above, you add special cases for compatibility, which makes the language a mess instead). This is supposed to be easy in a shell.
3) You're ignoring perfectly good existing features. The "exec" opening methods and explicit file descriptor numbers often aren't necessary at all. How's this for a scoped file descriptor that closes itself?
Last edited by Corona688; 02-27-2011 at 07:51 PM..
Hi ,
I am having one situation in which I need to run some simple unix commands after doing "chroot" command in a shell script. Which in turn creates a new shell.
So scenario is that
- I need to have one shell script which is ran as a part of crontab
- in this shell script I need to do a... (2 Replies)
Hi
I tried with bash --login option. but the output is
siva:~$ bash --login
siva:~$
is there any way to make the shell ask for user id and password ( and login as different user instead of using sudo / su )
Thx in advance
Siva (3 Replies)
i have a small problem getting a batxh shell script to run in shell
this is the code
the problem seems to be centered around the ffmpeg command, something maybe to do with the ' ' wrapping around the vhook part command
this is a strange problem , if i take the ffmpeg command and... (1 Reply)
Hi,
I am using HP-UNIX.
I have a requirement as below
I have to change env twice like:
cadenv <env>
cadenv <env>
ccm start -d /dbpath
ccm tar -xvf *.tar
ccm rcv ....
mv *.tar BACKUP
but after I do the first cadenv <env> , I am unable to execute any of the later commands .
... (6 Replies)
Hi,
I am new to unix and using linux 7.2. I would like to create a script that would make it easyer for me to run my java programms. At the moment I have to type java myJavaprogram
I am trying to write a script that will allow me to type something like this "myscript myJavaprogram" or maybe... (4 Replies)
Hello gurus,
I have three korn shell script 3.1, 3.2, 3.3. I would like to call three shell script in one shell script.
i m looking for something like this
call 3.1;
If 3.1 = "complete" then
call 3.2;
if 3.2 = ''COMPlete" then
call 3.3;
else
exit
The... (1 Reply)
basically i'm tired of hitting the left arrow a few dozen times when correcting a mistake or modifying a history command
i'd like to use vim style key shortcuts while on the command line so that a 55 moves the cursor 55 places to the left...
and i want all the other vi goodies, search of... (3 Replies)
Dear Friends,
Please help me on this
my script name is send.csh
In this i have written the statement like this
set args = ( city state country price )
I want to pass this array to another c shell called receiver.csh. and i want to use it in this c shell
or
how to pass to... (2 Replies)
Discussion started by: SA_Palani
2 Replies
LEARN ABOUT OPENSOLARIS
dirfd
dirfd(3C) Standard C Library Functions dirfd(3C)NAME
dirfd - get directory stream file descriptor
SYNOPSIS
#include <dirent.h>
int dirfd(DIR *dir);
DESCRIPTION
The dirfd() function returns the file descriptor associated with the directory stream dir.
This file descriptor is the one used internally by the directory stream operations. See opendir(3C), closedir(3C), readdir(3C), rewind-
dir(3C), seekdir(3C), telldir(3C). The file descriptor is automatically closed when closedir() is called for the directory stream dir or
when one of the exec functions is called. See exec(2).
The file descriptor can safely be used only by functions that do not depend on or alter the file position, such as fstat(2) and fchdir(2).
Closing the file descriptor with close(2) or modifying the file position by means other than the directory stream operations listed above
causes undefined behavior to occur when one of the directory stream operations is subsequently called with the directory stream dir.
RETURN VALUES
Upon successful completion, the dirfd() function returns an open file descriptor for the directory associated with the directory stream
dir.
ERRORS
There are no defined error returns. Passing an invalid directory stream as an argument to the dirfd() function results in undefined behav-
ior.
USAGE
The dirfd() function is intended to be used to obtain a file descriptor for use with the fchdir() function.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
|MT-Level |Safe |
+-----------------------------+-----------------------------+
SEE ALSO close(2), exec(2), fchdir(2), fstat(2), closedir(3C), opendir(3C), readdir(3C), rewinddir(3C), seekdir(3C), telldir(3C), attributes(5)SunOS 5.11 24 Oct 2007 dirfd(3C)