On Mon, Jul 23, 2001 at 10:34:27AM +0530, [EMAIL PROTECTED] wrote: > Good Morning/Evening to all, > I guess that it is standard in Unixes that : > 0 : STDIN : keyborad > 1 : STDOUT : monitor > 2 : STDERR : error output device
Those file descriptors, yes. > If this much can be accepted , and this is true for Linux verssions , too , > then how come I am given an error by my Linux machine for example : > [shyam @shyam shyam] cat < 0 > Sample > ^d For the same reason it won't work on any other Unix version? You asked to redirect input from a file named '0'. It's pointless to redirect standard input to come from standard input, so I have no idea what the point of this exercise is supposed to be... > Can not open 0 : No file or directory > [shyam @shyam shyam] > > The same occurs for 1 (STDOUT) also. No. That works fine. This works: cat > foo Which takes stdout, and sends it to the file named 'foo'. I think the core of your problem is that you have the idea that STDIN is the keyboard. It is not. Nor is STDOUT the monitor. It isn't. Both are -often- pointed to those locations, but that doesn't mean they need to be, nor, perhaps, is it even the most common place for them. >From the perspective of cat, it reads from file 0 (stdin) until it gets an end of file, and meanwhile writes to file 1 (stdout). The shell lets you redirect those as you see fit. 'man bash' and read the sections on redirecting input and output. -- CueCat decoder .signature by Larry Wall: #!/usr/bin/perl -n printf "Serial: %s Type: %s Code: %s\n", map { tr/a-zA-Z0-9+-/ -_/; $_ = unpack 'u', chr(32 + length()*3/4) . $_; s/\0+$//; $_ ^= "C" x length; } /\.([^.]+)/g;