The zero come up since ls was successfull, but i dont understand why the files in the directory came up line by line and not all in one line like how normally doing ls would result in
ls can tell the difference between a terminal and a pipe. ls | cat will do that too. In other words -- that's normal.
Quote:
also theres some gibberish lines after the ls command results, why did that show up? Am I missing a \0 anywhere or something?
Remember that read() doesn't null-terminate for you -- it's a general purpose system call that can be used for anything, not just strings. So you're not only missing a NULL -- you're mistaken in that you even need NULLs.
Also, you shouldn't do printf(string); like that, since that could cause crashes if your string ends up having formatting specifiers like %s in it -- printf will try to read more parameters off the stack and crash since there aren't any. Let's use write() instead -- it needs no NULLs and can't crash in that manner.
I have no idea why you're duplicating pipes in the parent's code when you don't ever use the duplicate. Don't just throw dup2() around, only use it when you know exactly what you want to do with it why.
Furthermore, I repeat: fileno(stdin) is redundant. Use STDIN_FILENO.
Further furthermore: read first, then wait(). And keep reading until it's done, otherwise you might be throwing away tons of output.
Further further furthermore: You're still not closing your pipes before you wait(). This can cause a deadlock if the child process thinks it's waiting for you because it'll wait until the pipe closes. You could even end up waiting for yourself when you're reading from one end and still have the other end open.
Quote:
Also i tried giving a command that would fail like cd ffg, and the WEXITSTATUS number came out to be 2, so what really are the possible outcomes for WEXITSTATUS? i only know so far 0 and 2, shouldnt it be -1 instead of 2?
Possible return values are 0 through 255, it can't return negative numbers. 0 means success, anything else means error, what the return values mean specifically depends on the application.
hi all. thanks for looking
i am doing some homework.
one question is that when type
wc
and then how to tell the program that we have finished entering data?
also
why do some operating systems report 22 as the number of bytes in the file above, while others only 20?
thanks so much,... (1 Reply)
Hello,
I have problem in writing the shell script involving MPE command STREAM related to HP-UX and Unix command. Script is
sh "nlshCMD 'STREAM <job name1>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name2>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name3>' |... (0 Replies)
Hello,
I have problem in writing the shell script involving MPE command STREAM related to HP-UX and Unix command. Script is
sh "nlshCMD 'STREAM <job name1>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name2>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name3>' |... (1 Reply)
Hi ,
I have a piece of code ...wherein I need to assign the following ...
1) A command line argument to a variable
e.g origCount=ARGV
2) A unix command to a variable
e.g result=`wc -l testFile.txt`
in my awk shell script
When I do this :
print "origCount" origCount --> I get the... (0 Replies)
Hi,
Well my title isn't very clear I think. So to understand my goal:
I have a script "test1"
#!/bin/bash
xvkbd -text blabla
with xbindkeys, I bind F5 key in order it runs my test1 script
So when I press F5, test1 runs.
I'm under Emacs/Vi and I press F5 in order to have "blabla" be... (0 Replies)
I am going through the Unix Made Easy second edition book by John Muster. So far it's been very informative and I can tell it may be a bit out of date.
In one of the exercises it talks about the "sort" command and using it to sort column's of data etc. The "sort" command has changed a bit and... (1 Reply)
Hi all,
I wish to know whether Unix can access window's file in Unix's terminal?
Apart from that, how to copy files or share files between Window and Unix? I get to know of secure copy, however, my company's Unix does not support the feature of secure copy? Any other method for me to share/... (5 Replies)
I'm trying to write a bash script called YN that looks like the following
YN "Specify a question" "doThis" "doThat"
where "doThis" will be executed if the answer is "y", otherwise "doThat".
For example
YN "Do you want to list the file dog?" "ls -al dog" ""
Here's my attempt... (3 Replies)
Hi Folks,
I have a file name abc.xml in my windows machine at the location c:\ytr\abc.xml
which I want to place at the unix box machine inside cde directory.. at the following location that is /opt/app/cde/
now the credentials of unix box are
abc345 -->(dummyid)
ftyiu88--->(dummy passwd)
... (4 Replies)