l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
November 4: Social gathering
Next Installfest:
TBD
Latest News:
Oct. 10: LUGOD Installfests coming again soon
Page last updated:
2002 Jun 13 16:22

The following is an archive of a post made to our 'vox mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox] cat and >> - how does it know?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox] cat and >> - how does it know?




Not paying attention to tab-completion, I just accidentally did this:

  cat somefile >> somefile


Luckily, "cat" noticed, and complained:

  cat: somefile: input file is output file



But - how does it know?  Using just argv/argc, all "cat" would know
is that you want to throw "somefile" to stdout.

The shell is the one worrying about the ">>" and everything after it.


I'm guessing the shell makes a note of what it's doing (redirecting/appending)
and makes that info. available to the process (in this case, cat),
who can notice and, in this case, complain.


How, exactly, does it do this?


-bill!
(too lazy to dig up source to /bin/cat ;) )
PS - This was under both tcsh and bash
_______________________________________________
vox mailing list
vox@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.