Executing command line options


 
Thread Tools Search this Thread
Top Forums Programming Executing command line options
# 1  
Old 06-26-2002
Executing command line options

Can someone please tell me how to modify/add to this code so that it recognizes UNIX command options (all beginning with "-") and executes the command with options?



Code:
#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{

     int i;

    system("stty -echo");

    for(i=1; i<argc; i++)
    {
        printf("The command %s is executed.\n", argv[i]);
        system(argv[i]);
     }

    system("stty echo");
    return 0;
}

# 2  
Old 07-01-2002
Re: Executing command line options

Hi Safia,

I think you will have to prepare a string of the unix command first and then pass this string to the system function. This string manipulation should take care of the "-" sign. I think you can also try ftok.

Hope this hints you to the solution.
# 3  
Old 07-02-2002
There's a function called getopt(), check to see if this function is supported in your compiler, this will help you.
# 4  
Old 07-03-2002
try this one

Can you try this one ??
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void main(int argc, char **argv)
{
char str[30];
if (argv[2][0] == '-')
{
strcpy(str,argv[1]);
strcat(str," ");
strcat(str,argv[2]);
system (str);
}

}//end of main

or

void main(int argc, char **argv)
{
system(argv[1]);
}

for second case, you need to give input as say "ls -l" within double quotes.
You can have any combination for this.
Like let us assume "a.out" is the binary then

./a.out "who | wc -l" also works for the second option.,....


bye,
sharath
# 5  
Old 07-03-2002
>void main(int argc, char **argv)
void main() is wrong. main() should return a value.
# 6  
Old 07-03-2002
void can be there

If main is not intended to return anything.......we must have its return type "void".

You can compile the source code using ansi compliance,


bye,
sharath
# 7  
Old 07-04-2002
ANSI C says 'int main()'. Ofcourse, to avoid compiler warnings you can use 'void main()', but that is incorrect. The OS might be wanting a return value from the terminated program, and when you are not returning any value to it, a junk value might be returned to your OS, and the results could be unpredictable.

See this
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Processing Multiple Arguments in Command Line Options

Hi All, I am new to scripting. Could you please assist me . Here is my requirement. I have written a script that has 2 option flags defined. -l) calls some function with the arguments passed in front of -l -r) calls second function with the arguments passed in front of -r *) calls the... (7 Replies)
Discussion started by: Jay Deshpande
7 Replies

2. Shell Programming and Scripting

Help executing command with options

Hi, I have this command in a shell script and I can get it to echo ok, but when I try to execute the command I get a "file not found" error. Which is strange because, if I copy and paste the same command at the cli it works ok. What am I doing wrong please? (16 Replies)
Discussion started by: bbbngowc
16 Replies

3. Shell Programming and Scripting

Reading command line options from bash script

I have the following code and I am calling it using ./raytrac.bash -u and getting problems. For some reason opt_usage is still 0. opt_usage=0 iarg=0 narg=$# while (($iarg < $narg)) do (( iarg = $iarg + 1 )) arg=$argv usrInputFlag=`echo $arg | awk '/=/ {print 1}; ! /=/... (22 Replies)
Discussion started by: kristinu
22 Replies

4. UNIX for Dummies Questions & Answers

Running set options from the command line and bash command

I'm reading about debugging aids in bash and have come across the set command. It says in my little book that an addition to typing set you can also use them "on the command line when running a script..." and it lists this in a small table: set -o option Command Line... (5 Replies)
Discussion started by: Straitsfan
5 Replies

5. Shell Programming and Scripting

awk script file command line options

Being new to awk I have a really basic question. It just has to be in the archives but it didn't bite me when I went looking for it. I've written an awk script, placed it in a file, added the "#!/usr/bin/awk -f" at the top of the script and away I go. "% myAwk <inputfile>" gives me exactly what... (2 Replies)
Discussion started by: tomr2k
2 Replies

6. Shell Programming and Scripting

Issue with spaces in Java command line options

Hi, I am writing a shell script to build Java options dynamically in a variable array and pass them to java.exe. If an option value contains a space, I cannot find a way to get it interpreted correctly. Here is my example: #!/bin/bash JAVA_HOME=/opt/jvm/jre1.5.0_18 JAVA_OPTS=("-Xms256m... (4 Replies)
Discussion started by: Romain
4 Replies

7. Shell Programming and Scripting

Run perl script, with command-line options

Hello everyone, I have a perl script which takes various command line options from user like : test.pl -i <input_file> -o <output_file> -d <value> -c <value> Now I have multiple input files in a directory: <input_file_1> <input_file_2> <input_file_3> <input_file_4> ..... .... ...... (6 Replies)
Discussion started by: ad23
6 Replies

8. Shell Programming and Scripting

Using perl to get options from command line

Hi all, I want to get options from command line by perl. usage() options: -h Show this help message and exit -t Name of tester --timeout Set the timeout -l ... (1 Reply)
Discussion started by: Damon_Qu
1 Replies

9. Shell Programming and Scripting

how to? launch command with string of command line options

my description from another thread... here's my code: #!/bin/bash IFS=$'\n' function OutputName() { input=$1 echo $input input=`echo "$input" | sed -e 's/.//'` input=`echo "$input".avi` output_name=$input } if ]; then echo... (5 Replies)
Discussion started by: TinCanFury
5 Replies

10. Shell Programming and Scripting

Associated array from command line options

I am looking to populate an (associated) array with a command line argument. The command line would look something like this: alert -action test -priority '10' -module test_module . . . The associated array would look like this after the data is read in flag=(action=test priority=10... (1 Reply)
Discussion started by: jperret
1 Replies
Login or Register to Ask a Question