Passing Arguments-Help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing Arguments-Help
# 1  
Old 01-29-2009
Passing Arguments-Help

Hi,
I have a script which adds the user credentials to an ldap server. Im passing the variables as below..

Code:
/path/my_script $uname $pwd $environ ${deposit}


If i enter some special characters like ';' in $pwd, script returns an error which is set to display if the user enters insufficient arguments...

i will explain it with an eg:

uname=john
pwd=qwerty;123
environ=student
deposit=1234

So if run
Code:
/path/my_script $uname $pwd $environ ${deposit}

itz giving an error which i have set with this condition in my_script
Code:
if [ $# -lt 3 ]; then
        echo "Error : Insufficient number of arguments"
        echo "Usage : $0 username password environment"
        echo "Eg : $0 s1corp D56GHxde vault"
        exit 0
fi

Can anyone plz help me to sort out this error??
# 2  
Old 01-29-2009
Try escaping them when being entered by a preceding \ or have every value enclosed by hard single quotes like this:
Code:
str\;ing
'str;ing'

# 3  
Old 01-29-2009
So you meant..

Code:
/path/my_script $uname '$pwd' $environ ${deposit}

Thatz not working!!??

Last edited by Tuxidow; 01-29-2009 at 08:32 AM..
# 4  
Old 01-29-2009
No that will not work since the variables can't be substituted inside ' '.
So try using " " around it first.
# 5  
Old 01-29-2009
the values are read from another script and passed over here.. so what modifications can I make with $pwd?? thatz also not working as it is called inside a CGI script like following... :-(

Code:
$cmd = "sudo ssh -i /root/.ssh/id_dsa server-fe '/var/www/scripts/my_script $uname $pwd $environ ${deposit}'";

so if i put
Code:
$cmd = "sudo ssh -i /root/.ssh/id_dsa server-fe '/var/www/scripts/my_script $uname "$pwd" $environ ${deposit}'";

itz showing internal server error....

Last edited by Tuxidow; 01-29-2009 at 08:41 AM..
# 6  
Old 01-29-2009
Basically from shell script to shell script:

Code:
root@isau02:/data/tmp/testfeld> cat script1.ksh
VAR='abc;123'

./script2.ksh "${VAR}"

Code:
root@isau02:/data/tmp/testfeld> cat script2.ksh
echo "$1"

Code:
root@isau02:/data/tmp/testfeld> ./script1.ksh
abc;123

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using here document when passing arguments

I have a script test.sh which reads various inputs from a user. #!/bin/ksh read x read y read z echo x: $x y: $y z: $z # read few more things again read a read b echo a: $a b: $b When i run this script as test.sh << EOF 1 2 EOF (3 Replies)
Discussion started by: ariesb2b
3 Replies

2. Shell Programming and Scripting

Passing arguments--Error

Hi, i have a file.txt with data Bangalore Chennai Hyd filename of the script is: new.sh result=`cat file.txt | grep $1` if then echo pass else echo fail fi i am executing the file in the cmd line as "sh new.sh Bangalore" o/p is pass if i give "sh new.sh delhi" o/p is... (6 Replies)
Discussion started by: harsha85
6 Replies

3. Shell Programming and Scripting

Reading a string and passing passing arguments to a while loop

I have an for loop that reads the following file cat param.cfg val1:env1:opt1 val2:env2:opt2 val3:env3:opt3 val4:env4:opt4 . . The for loop extracts the each line of the file so that at any one point, the value of i is val1:env1:opt1 etc... I would like to extract each... (19 Replies)
Discussion started by: goddevil
19 Replies

4. Shell Programming and Scripting

Passing arguments to python

How can I pass arguments to a python script??? (3 Replies)
Discussion started by: kristinu
3 Replies

5. Shell Programming and Scripting

Passing arguments to csh

I have noticed this thing using csh when passing arguments Suppose I call a csh script using ../Scripts/plot-model.csh -vmod="npt02-z30.vmod" -R="0/80/0/30" -c="0/4.5" -aspr="1:10" Somehow the " get removed when doing $argv ending up with -vmod=npt02-z30.vmod... (0 Replies)
Discussion started by: kristinu
0 Replies

6. UNIX for Dummies Questions & Answers

Passing arguments

I need to pass arguments to a shell script.My batch is calling some java program. ################# x=$1 y=$2 java -classpath program ################### if first parameter and second parameter is null then java -classpath program if first parameter is not null and second parameter is... (3 Replies)
Discussion started by: mnjx
3 Replies

7. Shell Programming and Scripting

Passing arguments to awk

I have an awk script below which I call using for example awk -f ../../A-Scripts/select-model.awk iterations.txt 16x12 10 I want to be able to use it in a different way like this awk -f ../../A-Scripts/select-model.awk iterations.txt nxz=16x12 iter=10 or awk -f... (1 Reply)
Discussion started by: kristinu
1 Replies

8. Shell Programming and Scripting

passing arguments

Hi I have a script to which I pass multiple arguments, for example lets say the script name is "abc". I run the script like ./abc def /file <directory location> In the above "def" is the first argument and "/file" is the second argument. I expect <directory location> that is passed after... (4 Replies)
Discussion started by: zmfcat1
4 Replies

9. Shell Programming and Scripting

Passing and using arguments in Scripts.

I am new to scripting in AIX / UNIX. I have a script that runs 4 other scripts and I want to be able to pass in a agrument that I can check before I run the next script to see if the previous script finished with no errors. Can someone send me an example of this as I'm sure it's pretty easy to... (1 Reply)
Discussion started by: David.Vilmain
1 Replies

10. UNIX for Dummies Questions & Answers

passing arguments

I'm trying to pass a filename, or all the files in the current directory to the ls command with a script. Unsuccessful so far, here are a few of my attempts: #!/bin/ksh read fname #if (( $# > 0 )); then $fname | ls -l #fi this produces a long listing of all the files in my current... (4 Replies)
Discussion started by: jpprial
4 Replies
Login or Register to Ask a Question