Sponsored Content
Top Forums Programming Help required with using system() call Post 302177158 by ramkrix on Thursday 20th of March 2008 08:12:07 AM
Old 03-20-2008
Power

Quote:
Originally Posted by jim mcnamara
You are going to have to write your multi-line command into a file, chmod the file to set the execute bit, then call system("./filename.sh");
Hi Now, I have changed the source code as follows by putting that multiple literals in the system() earlier to an shellscript ./filename.sh now.

But I have confusion how to pass my argv[1] and the value of i as argument to the shell script. To ask simple: How system() call recognize the command line args passed to an C program.

SOURCE CODE:

# include <stdio.h>
# include <stdlib.h>
# include <strings.h>

main(argc,argv)
int argc;
char *argv[];
{
int i;
/*char *cmd,*opt;*/
printf("%d is arg\nc",argc);
printf("arg0 is %s\n",argv[0]);
printf("arg1 is %s\n",argv[1]);

if(argc!=2)
{
printf("usage Wrong");
exit(0);
}

printf("The command you ahve entered is %s\n",argv[1]);
printf("Let us display the various outputs for different options for the command");

i='a';
while(i>='a'&& i<='z')
{
printf("\n option is %d ASCII is %c",i,i);
system("./filename.sh argv[1] i");
i++;
}

}


OUTPUT:

[ramki@lindesk3 ramki]$ cc options_wth_exe_cmds.c -o cmd_opt
[ramki@lindesk3 ramki]$ ./cmd_opt ls
2 is arg
carg0 is ./cmd_opt
arg1 is ls
The command you ahve entered is ls
Let us display the various outputs for different options for the command
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 97 ASCII is a
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 98 ASCII is b
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 99 ASCII is c
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 100 ASCII is d
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 101 ASCII is e
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 102 ASCII is f
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 103 ASCII is g
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 104 ASCII is h
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 105 ASCII is i
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 106 ASCII is j
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 107 ASCII is k
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 108 ASCII is l
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 109 ASCII is m
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 110 ASCII is n
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 111 ASCII is o
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 112 ASCII is p
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 113 ASCII is q
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 114 ASCII is r
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 115 ASCII is s
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 116 ASCII is t
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 117 ASCII is u
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 118 ASCII is v
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 119 ASCII is w
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 120 ASCII is x
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found
option is 121 ASCII is y
cmd is argv[1]
opt is i
./filename.sh: line 3: argv[1]: command not found


Please help me in get rid of these..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

URGENT Help required regarding the use of FORK system call

I desperately wanted one of the UNIX Gurus to help me resolve my problem asap(I have to deliver the code to the client by Monday 08-oct). I have a file with around 5 million records (50 lakhs). Now my original process was taking around 30 hours to read the complete file, process each and every... (4 Replies)
Discussion started by: kkumar1975
4 Replies

2. UNIX for Advanced & Expert Users

how to differentiate system call from library call

Hi, Ho do I differentiate system call from library call? for example if I am using chmod , how do I find out if it is a system call or library call? Thanks Muru (2 Replies)
Discussion started by: muru
2 Replies

3. UNIX for Advanced & Expert Users

System hanged. help required.

HI, I have a Fedora running box. I am not able to ping/login. I guess it got hanged. Can any one help me how to login to that box with out restart? (8 Replies)
Discussion started by: praveen_b744
8 Replies

4. Programming

c system call

How the c compiler differentiates the system calls and function calls? (1 Reply)
Discussion started by: rangaswamy
1 Replies

5. Shell Programming and Scripting

system call

Hi, How to write a system calls in a script ? > cd $HOME > ls -ltr thanks in advance.. (10 Replies)
Discussion started by: hegdeshashi
10 Replies

6. Programming

C:system call

Hi I'm studing the system call. I've written a small program that return the time spent in doing some operations. Now I'd like to write one that return the time spent in user mode of a process. I'm reading that i should use the tms struct: clock_t times(struct tms *buf); struct tms {... (2 Replies)
Discussion started by: Dedalus
2 Replies

7. UNIX for Advanced & Expert Users

ftok system call

In the system call msgget(key,mode) for the argument key i want to use ftok call . I am really confused with the argument pathname in ftok call. I want to know the pathname of which file I want to specify over there. I am just a beginer to advanced unix plz help me out. (1 Reply)
Discussion started by: jimmyuk
1 Replies

8. Programming

system call

I have a cgi script which is called after certain time interval, which has this: system ("ls -l /tmp/cgic* | grep -v \"cgicsave.env\" | awk '{print $5}'"); During the execution of this script,the output is 0 sometimes. But due to this the system call is not working at all and doesnt o/p... (2 Replies)
Discussion started by: xs2punit
2 Replies

9. Programming

need help with system call

hi everyone i wrote a system call and compiled the kernel succesfully... my system call is in a file in the kernel folder named my_syscall1.c (kernel/my_syscall1.c) the header file for this system call i added it in the folder include like this include/my_syscall1/my_syscall1.h my problem is... (2 Replies)
Discussion started by: demis87
2 Replies

10. Shell Programming and Scripting

system call

Trying to figure out a load issue with a webserver. I have traced a php script and noticed the following connect(4, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("XX.XX.XX.XX")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000035> poll(, 1, 2000) = 1 () <0.000120>... (5 Replies)
Discussion started by: rajan007
5 Replies
All times are GMT -4. The time now is 05:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy