Sponsored Content
Top Forums Shell Programming and Scripting Passing Command Line Args in a Single Variable? Post 302685859 by mrm5102 on Monday 13th of August 2012 12:33:24 PM
Old 08-13-2012
Hey Corona688, thanks for the reply.

Ok, that makes sense about there being a security risk for that...

The reason why I wanted to do that was because, like I mentioned in the OP, I have a bunch of
differnet possibilites for the optional command line args. Which in turn means a ton of differnt
combinations of arguments are possible. And because of that I would need a bunch of if statemnts
to check for these combinations (which is what I originally had)...

For example: Lets say that some of Optional Arguments are:
$option='start|stop|restart|status|add' --> Required Argument so $option will be on the executing line no matter what
command="..."
comment="..."
--restart
etc...

So for just these three args I would need all these If Statements...
Code:
if [[ $option =~ add ]]
 then
    if [ $comment -eq 1 ]
     then
        if [ $restart_option -eq 1 ]
         then
            /path/to/script/myExpect_script $ip_address $username $password $option command="..." comment="..." --restart --sshed
        elif [ $restart_option -eq 0 ]
         then
            /path/to/script/myExpect_script $ip_address $username $password $option command="..." comment="..." --sshed
        fi
    elif [ $comment -eq 0 ]
     then
        if [ $restart_option -eq 1 ]
         then
            /path/to/script/myExpect_script $ip_address $username $password $option command="..." --restart --sshed
        elif [ $restart_option -eq 0 ]
         then
            /path/to/script/myExpect_script $ip_address $username $password $option command="..." --sshed
    fi
fi

As you can see in the code above, this can get pretty messy, and that's only 3 of the options
that I'm checking in this example...

Since you said there's a security risk in doing it the way I was suggesting. Maybe I could just parse that option
that was passed from bash (i.e. $exe_command_args) and split it on whitespace, or something like that from
within the Expect Script..?


Thanks Again,
Matt
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing the command line argument in a variable

Hi, I am new to unix. Is their a way to pass the output of the line below to a variable var1. ls -1t | head -1. I am trying something like var1=ls -1t | head -1, but I get error. Situation is: I get file everyday through FTP in my unix box. I have to write a script that picks up first... (1 Reply)
Discussion started by: rkumar28
1 Replies

2. UNIX for Dummies Questions & Answers

required command line args

Hello, How do I make a command line argument required using getopts? Thanks. (6 Replies)
Discussion started by: yoi2hot4ya
6 Replies

3. Programming

Command line args

My program usage takes the form for example; $ theApp 2 "one or more words" i.e. 3 command line arguments; application name, an integer, some text My code includes the following 4 lines: int anInteger; char words; sscanf(argv, "%d", &anInteger); sscanf(argv, "%s", &message); Based... (2 Replies)
Discussion started by: enuenu
2 Replies

4. UNIX for Dummies Questions & Answers

command line args

I am trying to print command line arguments one per second. I have this while do echo "6" shift echo "5" shift echo "4" shift echo "3" shift echo "2" shift echo "1" shift done (2 Replies)
Discussion started by: skooly5
2 Replies

5. UNIX for Dummies Questions & Answers

command line args 2

I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence and it printed the value of $1 after every number. I don't want that I just want... (2 Replies)
Discussion started by: skooly5
2 Replies

6. Shell Programming and Scripting

How to retrieve command line args one by on.

Hi, I have to store all the command line arguments into an array. I have the following code. ********************** #! /bin/sh set -A arr_no_updates i=1 while do arr_no_updates=$($i) echo ${arr_no_updates} i=$(($i+1)) done**************** (1 Reply)
Discussion started by: little_wonder
1 Replies

7. Shell Programming and Scripting

command line args in unix

Hi, i have a perl script named test.pl. It is executed as cat *.log|test.pl i need the complete command line args. I tried using basename $0 but im getting test.pl only but not cat *.log... Can anyone help me on this. Thanks in advance (3 Replies)
Discussion started by: niteesh_!7
3 Replies

8. Emergency UNIX and Linux Support

Cut | command line args

Hi, Can you please hint me how to achieve the below? Input: $./script.sh start 1 2 Internally inside the script i want to set a single variable with $2 and $3 value? Output: CMD=$1 ARGS=$2 $3 --VInodh (10 Replies)
Discussion started by: vino_hymi
10 Replies

9. Shell Programming and Scripting

Reading of variable in a single line command

Hi All, Below is a sample command that I can run without any problem in the command line. Command Line dtToday=`date +%Y%m%d`; ls -ltr ./filename_${dtToday}.txt -rw-r--r-- 1 monuser oinstall 0 Jan 18 11:02 ./filename_20130118.txt But once I put that command line in file (list.txt) and... (3 Replies)
Discussion started by: padi
3 Replies

10. Shell Programming and Scripting

Passing the value of variable which is read from command line in called script

Hi, I am calling a Perl script in my shell script. When Perl script is executed it asks for a answer to be entered by user from terminal. How can i pass that value from my shell script ?? I know I can change perl script to default the answer but i dont have access to do that so only option i... (5 Replies)
Discussion started by: varun22486
5 Replies
sacadm(1M)						  System Administration Commands						sacadm(1M)

NAME
sacadm - service access controller administration SYNOPSIS
sacadm -a -p pmtag -t type -c cmd -v ver [ -f dx] [-n count] [-y comment] [-z script] sacadm -r -p pmtag sacadm -s -p pmtag sacadm -k -p pmtag sacadm -e -p pmtag sacadm -d -p pmtag sacadm -l [-p pmtag | -t type] sacadm -L [-p pmtag | -t type] sacadm -g -p pmtag [-z script] sacadm -G [-z script] sacadm -x [-p pmtag] DESCRIPTION
sacadm is the administrative command for the upper level of the Service Access Facility hierarchy (port monitor administration). sacadm performs the following functions: o adds or removes a port monitor o starts or stops a port monitor o enables or disables a port monitor o installs or replaces a per-system configuration script o installs or replaces a per-port monitor configuration script o prints requested port monitor information Requests about the status of port monitors (-l and -L) and requests to print per-port monitor and per-system configuration scripts (-g and -G without the -z option) may be executed by any user on the system. Other sacadm commands may be executed only by the super-user. OPTIONS
-a Add a port monitor. When adding a port monitor, sacadm creates the supporting directory structure in /etc/saf and /var/saf and adds an entry for the new port monitor to /etc/saf/_sactab. The file _sactab already exists on the delivered system. Initially, it is empty except for a single line, which contains the version number of the Service Access Controller. Unless the command line that adds the new port monitor includes the -f option with the -x argument, the new port monitor will be started. Because of the complexity of the options and arguments that follow the - a option, it may be convenient to use a command script or the menu system to add port monitors. -c cmd Execute the command string cmd to start a port monitor. The -c option may be used only with a -a. A -a option requires a -c. -d Disable the port monitor pmtag. -e Enable the port monitor pmtag. -f dx The -f option specifies one or both of the following two flags which are then included in the flags field of the _sactab entry for the new port monitor. If the -f option is not included on the command line, no flags are set and the default con- ditions prevail. By default, a port monitor is started. A -f option with no following argument is illegal. d Do not enable the new port monitor. x Do not start the new port monitor. -g The -g option is used to request output or to install or replace the per-port monitor configuration script /etc/saf/pmtag/_config. -g requires a -p option. The -g option with only a -p option prints the per-port monitor configura- tion script for port monitor pmtag. The -g option with a -p option and a -z option installs the file script as the per- port monitor configuration script for port monitor pmtag. Other combinations of options with -g are invalid. -G The -G option is used to request output or to install or replace the per-system configuration script /etc/saf/_sysconfig. The -G option by itself prints the per-system configuration script. The -G option in combination with a -z option installs the file script as the per-system configuration script. Other combinations of options with a -G option are invalid. -k Stop port monitor pmtag. -l The -l option is used to request port monitor information. The -l by itself lists all port monitors on the system. The -l option in combination with the -p option lists only the port monitor specified by pmtag. A -l in combination with the -t option lists all port monitors of type type. Any other combination of options with the -l option is invalid. -L The -L option is identical to the -l option except that the output appears in a condensed format. -n count Set the restart count to count. If a restart count is not specified, count is set to 0. A count of 0 indicates that the port monitor is not to be restarted if it fails. -p pmtag Specifies the tag associated with a port monitor. -r Remove port monitor pmtag. sacadm removes the port monitor entry from /etc/saf/_sactab. If the removed port monitor is not running, then no further action is taken. If the removed port monitor is running, the Service Access Controller (SAC) sends it SIGTERM to indicate that it should shut down. Note that the port monitor's directory structure remains intact. -s Start a port monitor. The SAC starts the port monitor pmtag. -t type Specifies the port monitor type. -v ver Specifies the version number of the port monitor. This version number may be given as -v `pmspec -V` where pmspec is the special administrative command for port monitor pmtag. This special command is ttyadm for ttymon and nlsadmin for listen. The version stamp of the port monitor is known by the command and is returned when pmspec is invoked with a -V option. -x The -x option by itself tells the SAC to read its database file (_sactab). The -x option with the -p option tells port monitor pmtag to read its administrative file. -y comment Include comment in the _sactab entry for port monitor pmtag. -z script Used with the -g and -G options to specify the name of a file that contains a configuration script. With the -g option, script is a per-port monitor configuration script; with -G it is a per-system configuration script. Modifying a configura- tion script is a three-step procedure. First a copy of the existing script is made (-g or -G). Then the copy is edited. Finally, the copy is put in place over the existing script (-g or -G with -z). OUTPUT
If successful, sacadm will exit with a status of 0. If sacadm fails for any reason, it will exit with a nonzero status. Options that request information will write the information on the standard output. In the condensed format (-L), port monitor information is printed as a sequence of colon-separated fields; empty fields are indicated by two successive colons. The standard format (-l) prints a header identi- fying the columns, and port monitor information is aligned under the appropriate headings. In this format, an empty field is indicated by a hyphen. The comment character is #. EXAMPLES
Example 1: A sample output of the sacadm command. The following command line adds a port monitor. The port monitor tag is npack; its type is listen; if necessary, it will restart three times before failing; its administrative command is nlsadmin; and the configuration script to be read is in the file script: sacadm -a -p npack -t listen -c /usr/lib/saf/listen npack -v `nlsadmin -V` -n 3 -z script Remove a port monitor whose tag is pmtag: sacadm -r -p pmtag Start the port monitor whose tag is pmtag: sacadm -s -p pmtag Stop the port monitor whose tag is pmtag: sacadm -k -p pmtag Enable the port monitor whose tag is pmtag: sacadm -e -p pmtag Disable the port monitor whose tag is pmtag: sacadm -d -p pmtag List status information for all port monitors: sacadm -l List status information for the port monitor whose tag is pmtag: sacadm -l -p pmtag List the same information in condensed format: sacadm -L -p pmtag List status information for all port monitors whose type is listen: sacadm -l -t listen Replace the per-port monitor configuration script associated with the port monitor whose tag is pmtag with the contents of the file file.config: sacadm -g -p pmtag -z file.config FILES
/etc/saf/_sactab /etc/saf/_sysconfig /etc/saf/pmtag/_config ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
pmadm(1M), sac(1M), doconfig(3NSL), attributes(5) SunOS 5.10 14 Sep 1992 sacadm(1M)
All times are GMT -4. The time now is 06:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy