02-16-2008
Quote:
Originally Posted by
JamesGoh
What are some possible causes of my above problem ? cheers
The problem is: you are giving
ls something that actually is the shell's responsability, and that thing is output redirection. Since there is no shell involved in your program, you should perform the redirection of the output by yourself, that is, your program should do the shells's work, first by openning a new file and them redirecting its standard output and standard error to the new file descriptor using the dup2(2) function.
PHP Code:
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv)
{
int fd; /*file descriptor to the file we will redirect ls's output*/
if((fd = open("dirlist.txt", O_RDWR | O_CREAT))==-1){ /*open the file */
perror("open");
return 1;
}
dup2(fd,STDOUT_FILENO); /*copy the file descriptor fd into standard output*/
dup2(fd,STDERR_FILENO); /* same, for the standard error */
close(fd); /* close the file descriptor as we don't need it more */
/*execl ls */
execl( "/bin/ls" , "ls" , "-la" , (char *) 0 );
return 0;
}
Hope you got the point
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
If I wanted to redirect output to multiple log files, what would be the best way to do that?
echo "Unix is awesome" >>unixgod.log >>unixgod.log (3 Replies)
Discussion started by: darthur
3 Replies
2. Shell Programming and Scripting
Hi,
I want to move the output of a command/script to a file as well as to to be displayed on stdout.
Can anybody help me in this. Thanks in advace ..
-Chanakya M (1 Reply)
Discussion started by: Chanakya.m
1 Replies
3. Shell Programming and Scripting
Hello all,
I have the following 2 questions..
1) I would like to capture the output of an echo command to 2 different files at the same time. This does not seem to work. Any ideas?
echo ==== started on `date` ==== >> res1.log res2.log
2) Would it be possible to just get the 5th... (2 Replies)
Discussion started by: luft
2 Replies
4. Shell Programming and Scripting
Well, it didn't take me long to get stumped again. I assure you that I'm not mentally deficient, just new to scripting.
So, here's the gist. I want to redirect output from awk based off of which branch of an if-else statement under which it falls.
#!/bin/bash
#some variables... (2 Replies)
Discussion started by: mikesimone
2 Replies
5. Red Hat
hi,
how to write the resullt of execl() into another file.
i used
write(fd,execl()); (1 Reply)
Discussion started by: Mahendravarma
1 Replies
6. UNIX for Dummies Questions & Answers
Hello,
I am interested in taking the output from a script i wrote and using it as input to a different script i wrote. So for example i want to take the output from program2 and use it as a parameter for program1. I didnt think i could use the >> symbols because i think that is just for .txt... (4 Replies)
Discussion started by: GmGeubt
4 Replies
7. Shell Programming and Scripting
For example,
if we run the below command,
symcfg list -thin -pool , results in an output most of the times and if the out is generated i'm able to redirect the output to a file. but sometimes it doesnt result any output and even though the output is being redirected, i can see "No Thin Pools "... (2 Replies)
Discussion started by: web2moha
2 Replies
8. Post Here to Contact Site Administrators and Moderators
Hi All,
I am trying to redirect the grep output to multiple files, can you please help with that.
Below is the command im using to match my pattern
grep \<proxyType\>$PxyType $DIR/EndureFiles.json > File_Name*.json
Note : $DIR and $PxyType is already defined in my script
Im able... (0 Replies)
Discussion started by: Deena1984
0 Replies
9. Shell Programming and Scripting
Hi,
I have a following code in which I am unable to redirect to multiple files. Can anybody please help with some corrections
awk -F, '{ if ( substr($1,26,2)=="02" && substr($1,184,14)=="MTSCC_VALFIRST") {
array1++
array2++
array3++
}
else if (substr($1,26,2)=="03" &&... (4 Replies)
Discussion started by: siramitsharma
4 Replies
10. Shell Programming and Scripting
Hi All,
I am trying a shell script and need your help on taking the results to different output files.
I have tried the below code:
nawk '
{CNF = (length()-10)/7
printf "%9s", substr ($0, 1, 9)
for (i=0; i<=CNF; i++) T = substr ($0, 10+i*7, 7)
TMP = 100 - (T + T + T + T + T + T + T + T... (24 Replies)
Discussion started by: am24
24 Replies