Sponsored Content
Top Forums Shell Programming and Scripting passing runtime arguments to a shell script... Post 302275269 by Padow on Friday 9th of January 2009 03:20:00 PM
Old 01-09-2009
Here is a sample script I use to rsh commands (I know I should be using SSH instead) to multiple hosts. The hosts to be used and the command to be sent is received from the command line:

Code:
#!/bin/ksh

. /usr/sample/etc/unixadm.env  #Get host list variables

function printusage {
  echo "Usage: checkhosts.ksh [npsu] -c command"
  echo "       n:  AIX non-production"
  echo "       p:  AIX production"
  echo "       s:  SUN production"
  echo "       u:  SUN non-production"
}

while getopts ":npsuc:" opt
do
        case $opt in
        c) cOmmand="$OPTARG" ;;
        n) HOSTS=$AIXNP ;;
        p) HOSTS="$AIXPROD $HOSTS" ;;
        s) HOSTS="$SUNPROD $HOSTS" ;;
        u) HOSTS="$HOSTS $SUNNP" ;;
        ?) printusage
                exit 1;;
        esac
done
if [[ -z $cOmmand || -z $HOSTS ]]; then  #Check to make sure that there are hosts and a command to use
  printusage
  exit 2
fi

if ! echo $cOmmand | grep [a-zA-Z]; then  #Another validity test
  echo "invalid command: $cOmmand"
  printusage
  exit 2
fi

for i in $HOSTS; do
  echo "===== $i ====="
  if echo $i | grep -qiE "dev|qa|test"; then
    i=$i.qadomain.com
  fi
  rsh $i $cOmmand
done

On the getopts line:
* Having a colon first means that we will process our own errors
* Each letter listed is a valid switch
* The colon after the c means that a value should accompany the switch on the command line

A valid command to execute this script would be :
Code:
./checkhosts.ksh -nc "lssrc -s net-snmp"

Padow
 

10 More Discussions You Might Find Interesting

1. Solaris

Passing arguments to a shell script from file while scheduling in cron

Hi, I have a shell script Scp_1.sh for which I have to pass 2 arguments to run. I have another script Scp_2.sh which in turns calls script Scp_1.sh inside. How do I make Scp_1.sh script to read arguments automatically from a file, while running Scp_2.sh? -- Weblogic Support (4 Replies)
Discussion started by: weblogicsupport
4 Replies

2. Shell Programming and Scripting

Passing arguments at runtime

Hi .. Can any one please tell how to pass argument to shell script at runtime? I want to implement funcnality just like bc, where we can provide input while script is running and can be used later in the same script. Thanks in advance... (1 Reply)
Discussion started by: kunjalhg
1 Replies

3. Shell Programming and Scripting

Help required in passing multiple arguments from a shell script to a pl/sql block

Hi, hope everyone are fine. Please find my issue below, and I request your help in the same In a configuration file, i have a variable defined as below TEST = 'One','Two','Three' I am trying to pass this variable in to a sql script which is define in a pl/sql block as follows, In the... (1 Reply)
Discussion started by: ramakanth_burra
1 Replies

4. Shell Programming and Scripting

Passing arguments from a bash shell script to a command

I'm pretty new to bash scripting and I've found myself writing things like this (and the same with even more nesting): if $CATEGORIES; then if $LABEL_SLOTS; then $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--label-slots" "--categories" "$CATEGORY_LIST" ... (9 Replies)
Discussion started by: burbly
9 Replies

5. Programming

Passing arguments from java to script shell

Hello Please i want to pass parameter (the string s) to the shell script: Quote: String s="Hello"; Process process = Runtime.getRuntime().exec("sh script1.sh"); How can i do please? Thank you (0 Replies)
Discussion started by: chercheur857
0 Replies

6. Shell Programming and Scripting

To run a local shell script in a remote machine by passing arguments to the local shell script

I need to run a local shell script on a remote machine. I am able to achieve that by executing the command > ssh -qtt user@host < test.sh However, when I try to pass arguments to test.sh it fails. Any pointers would be appreciated. (7 Replies)
Discussion started by: Sree10
7 Replies

7. Shell Programming and Scripting

Passing multiple arguments to a shell script

Hi Gurus, Need some help with the shell scripting here. #!/bin/ksh ps -ef | grep -i sample.ksh | grep -v grep > abc.txt if then echo "sample.ksh is executing" else echo "sample.ksh is not executing" fi (1 Reply)
Discussion started by: jayadanabalan
1 Replies

8. Shell Programming and Scripting

Shell scripting with passing arguments

Hi All, I am using the script for creating local queue and passing the arguments while running the script as below n=0 while do e=`expr $n + 3` echo 'DEFINE QL('$e') MAXDEPTH('$6') MAXMSGL('$7') DEFPSIST('$8') '$9'' | /apps/mqm_opt/bin/runmqsc $2 n=`expr $n + 1` done Running the... (5 Replies)
Discussion started by: Anusha M
5 Replies

9. Shell Programming and Scripting

C shell script passing arguments problem.

I found something insteresting when I tested passing arguments into my scripts. My scripts is as below. % cat passarg.env #!/bin/csh echo "passarg: argv = $argv argv = $argv" passarg1.env $* % cat passarg1.env #!/bin/csh echo "passarg1: argv = $argv argvp=$argv" set str = "test... (5 Replies)
Discussion started by: bestard
5 Replies

10. UNIX for Beginners Questions & Answers

Passing Arguments to shell script from file is not working as expected.

Hi All, I have below simple shell script in cloudera quick start vm cenos 6 which copy file from source to destination. # file_copy.sh source_dir = ${source_dir} target = ${target_dir} cp source_dir target and my parameter file is like below #parameter_file.txt source_dir =... (4 Replies)
Discussion started by: Narasimhasss
4 Replies
HOSTS.CONF(5)							    NUT Manual							     HOSTS.CONF(5)

NAME
hosts.conf - Access control for Network UPS Tools CGI programs DESCRIPTION
The CGI programs (upsset.cgi(8), upsstats.cgi(8), upsimage.cgi(8)) use this file to determine if they are allowed to talk to a host. This keeps random visitors from using your web server to annoy others by creating outgoing connections. DIRECTIVES
MONITOR ups description The ups element is in the form upsname[@hostname[:port]]. To allow connections to a UPS called "snoopy" on a system called "doghouse" that runs upsd on port 7877, it would look like this: MONITOR snoopy@doghouse:7877 "Joe Cool" The description must be one element, so if it has spaces, then it must be wrapped with quotes as shown above. The default hostname is "localhost". SEE ALSO
upsset.cgi(8), upsstats.cgi(8), upsimage.cgi(8) Internet resources: The NUT (Network UPS Tools) home page: http://www.networkupstools.org/ Network UPS Tools 05/22/2012 HOSTS.CONF(5)
All times are GMT -4. The time now is 02:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy