Passing Parameter containing space in between to Shell Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing Parameter containing space in between to Shell Script
# 1  
Old 01-14-2011
Passing Parameter containing space in between to Shell Script

Hi,

I have one shell script which use two parameter however one of its parameter have space in between.
eg.
Code:
a.sh 20110114 b c d

here b c d is one parameter

I used 'b c d' but its not giving correct result.
Also i tried b\c\d but this one also didnt work.

Any help would be appreciated.

Thanks!!!!!!

Last edited by Franklin52; 01-14-2011 at 06:27 AM.. Reason: Code tags
# 2  
Old 01-14-2011
Code:
#!/bin/sh
echo $#
echo $1
echo $2
echo $3

When I run it as:
Code:
a.sh 20110114 'b c d'

I get following:
Code:
2
20110114
b c d

Please mention what exactly you are doing.
Probably code snippet, current behavior of code and expected one.
# 3  
Old 01-14-2011
I just want my script to accept input containing space.my first parameter is date while second one is name which contain space.

i cant write
Code:
a.sh 20110114 b c d

as it would be consider b c d as three parameter which is wrong.
So i tried to pass it as 'b c d' but it gives me wrong result even though script run.


Moderator's Comments:
Mod Comment Please use code tags when posting data and code samples!
# 4  
Old 01-14-2011
As you can see above, In my script output,
Code:
a.sh 20110114 'b c d'

arguments count ($#) is 2
1st argument ($1) is 2011011
2nd aguument($2) is b c d

If you are passing your argument to some other command, pass it in quotes.
Unless you show your problematic code, we can't really help you to fix your issue.
# 5  
Old 01-14-2011
Actually second argument which contain space is used to call sql procedure,so if i pass 'b c d' then it will consider input as it is including quotes.Which i don't require.

Thanks for your quick response
# 6  
Old 01-14-2011
Execute script as:
Code:
a.sh 20110114 "b c d"

And pass 2nd argument in quotes to sql proc:
Code:
<sql_proc> "$2"

But not very sure about sql procedure. If above doesn't work, then you may do following:
remove spaces from your input(replace space with some character say underscore, or something else which should be part of real value)
Then pass your modified argument (without space) to sql procedure.
Then in sql proc, read this value and convert underscore back to space.
Like:
Code:
var=$(echo "$2" | sed "s/ /_/g")

Now pass $var to sql proc (And conver _ back to space in sql proc)

Last edited by anurag.singh; 01-14-2011 at 06:50 AM..
This User Gave Thanks to anurag.singh For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing parameter with single quote to shell script

Hello All, I am trying below +++++++++ #/bin/bash set -x Host=$1 Port=$2 User=$3 Pass=$4 Warning=$5 Critical=$6 SCRIPT_LOC=/opt/agent/ Parameters="'""hostname=$Host&""port=$Port&""username=$User&""password=$Pass&""jvm=UsedMemory,$Warning,$Critical""'" echo $Parameters... (10 Replies)
Discussion started by: sundari127
10 Replies

2. UNIX for Dummies Questions & Answers

Passing shell script parameter value to awk command in side the script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff |... (1 Reply)
Discussion started by: Sarita Behera
1 Replies

3. Shell Programming and Scripting

Passing a parameter from a shell script to sqlplus

Hi All, I'm new to Linux and scripting, apologies in advance for 'stupid' questions. Please help... Im writing a script that calls a sqlplus script but the sqlplus requires inputs and i cant seem to get this to work. here is my code. #!/bin/sh TERM=vt100 export TERM... (4 Replies)
Discussion started by: Mahomed
4 Replies

4. Shell Programming and Scripting

Passing parameter to script, and split the parameter

i am passing input parameter 'one_two' to the script , the script output should display the result as below one_1two one_2two one_3two if then echo " Usage : <$0> <DATABASE> " exit 0 else for DB in 1 2 3 do DBname=`$DATABASE | awk -F "_" '{print $1_${DB}_$2}` done fi (5 Replies)
Discussion started by: only4satish
5 Replies

5. Shell Programming and Scripting

Passing string as a input parameter for a shell script

Hi i have a shell script which needs a string as an input parameter. How to pass the string param as an input? In command line am running the script. for e.g., a="who is a buddy?" sh sample.sh $a Inside the script i get this input param as $1 but only the value "who" is accepted... (12 Replies)
Discussion started by: vidhyaS
12 Replies

6. SCO

Parameter passing to dot shell script

OS SCO Open Server 6.0 MP4 I am trying to change the value of a enviornment variable thru a script and want to pass a parameter on the commande line, If I hard code the value inside the script the script changes the enviornment variable . mytest where my test is MYVAR=$1 export MYVAR... (6 Replies)
Discussion started by: atish0
6 Replies

7. AIX

Passing a parameter to a shell script?

I would like to run a compress script on files in certain directories. My compress_script.sh is just basically compress file* In order for me to use this I have to copy it into each directory and run it. How can I state the directory on the command line with the compress script so it... (2 Replies)
Discussion started by: NycUnxer
2 Replies

8. Shell Programming and Scripting

Passing parameter from one file to shell script

Hi All, I have a 2 files. File1 i am generating using an ETL tool, which is a comman seperated delimited file which contains country code & load date. everytime, this country code will be updated from a table. It might be AB or BA & ld_date will be for which date we need to load the file. ... (7 Replies)
Discussion started by: Amit.Sagpariya
7 Replies

9. Shell Programming and Scripting

passing parameter 4m shell script to a DB stored procedure

hi all please tell me how to pass parameters 4m shell script to a DataBase stored procedure. To be specific i have sybase DB. i mean i want the syntax of the command.. how to connect to DB, pass user id and password, pass the required parameter to SP.. .. need ur help frnds.. hema (0 Replies)
Discussion started by: hema2026
0 Replies

10. Shell Programming and Scripting

passing parameter from Shell-script to Sql-script

Dear Friends, Please help me to achieve the following: I want to pass one parameter from Shell-script to Sql-script. Example: My ShellScript.sh is calling report.sql like this: /bin/sqlplus /reports.sql And My report.sql is calling many Stored-Procedures like this: exec... (0 Replies)
Discussion started by: subodhbansal
0 Replies
Login or Register to Ask a Question