Passing parameters and accepting in Array


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Passing parameters and accepting in Array
# 1  
Old 07-22-2019
Passing parameters and accepting in Array

I am trying to pass parameters to a script which will accept them in array.

First parameter is where_clause
second parameter is "SRC_TYPE='SYBASE' and PROCESS_CD='BRK'"


Code:
[$ cat abcd.ksh
set -x
set -A arg_list -- $*
echo ${arg_list[1]}
echo $2
$  ./abcd.ksh where_clause "SRC_TYPE='SYBASE' and PROCESS_CD='BRK'"
+ set -A arg_list -- where_clause SRC_TYPE=$'\'SYBASE\'' and PROCESS_CD=$'\'BRK\''
+ echo SRC_TYPE=$'\'SYBASE\''
SRC_TYPE='SYBASE'
+ echo SRC_TYPE=$'\'SYBASE\'' and PROCESS_CD=$'\'BRK\''
SRC_TYPE='SYBASE' and PROCESS_CD='BRK'

When echoing $1 $2 etc , it displays correctly, But when assigned to an array it splits the parameters with space.
Can some one help me to modify the code to assign the second variable with single quotes and spaces as the second element of the array

--- Post updated at 04:35 PM ---

Found the solution after more research. Pasting here for reference
used
Code:
set -A arg_list -- "$@"

instead of
Code:
set -A arg_list -- $*

Out put looks like below
Code:
 ./abcd.ksh where_clause "SRC_TYPE='SYBASE' and PROCESS_CD='BRK'"
+ set -A arg_list -- where_clause SRC_TYPE=$'\'SYBASE\' and PROCESS_CD=\'BRK\''
+ echo SRC_TYPE=$'\'SYBASE\'' and PROCESS_CD=$'\'BRK\''
SRC_TYPE='SYBASE' and PROCESS_CD='BRK'
+ echo SRC_TYPE=$'\'SYBASE\'' and PROCESS_CD=$'\'BRK\''
SRC_TYPE='SYBASE' and PROCESS_CD='BRK'

# 2  
Old 07-22-2019
Not sure if this is helpful:
Code:
AMIGA:amiga~> echo SRC_TYPE=$"'"SYBASE"'"" and PROCESS_CD="$"'"BRK"'"
SRC_TYPE='SYBASE' and PROCESS_CD='BRK'

--- Post updated at 10:03 PM ---
# 3  
Old 07-23-2019
Use "$@" instead of $* quotes and all. That will guarantee it splits on arguments only and not spaces.
# 4  
Old 07-24-2019
Yes, use the @ index and put the $expression in "quotes" to split on elements and not on embedded whitespace.
Further examples:
Code:
printf "%s\n" "$@"

Code:
printf "%s\n" "${arg_list[@]}"

Code:
for arg in "$@"; do ...

Or its short form
Code:
for arg
do ...

Code:
for arg in "${arg_list[@]}"
do ...

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with passing parameters from a file

Hello Everyone, I have developed a shell script which takes schema id and password as parameter to login into database using sqlplus,runs a query and mails the result. My requirement is that, I dont want to pass userid and password as parameters.Instead,I want to pass say Environment... (4 Replies)
Discussion started by: karthik adiga
4 Replies

2. Shell Programming and Scripting

Passing Parameters to Crontab

Hello Experts, I have a requirement to pass some parameters to Linux cron tab. For ex: My default cron entry looks like this as below: ------------------------------- 55 10 * * --... (7 Replies)
Discussion started by: MaheshChaudhari
7 Replies

3. Shell Programming and Scripting

Passing 2+ parameters to one command

I have a script that uses more than one parameter. It looks like this: for i in `cat /tmp/listofpolicies`; do for x in $(cat /tmp/lst |sed 's/^/\/usr\/openv\/netbackup\/db\/class\//g'); do /usr/openv/netbackup/bin/admincmd/bpplinclude $i -delete -f $x;done;done The problem is that the... (3 Replies)
Discussion started by: newbie2010
3 Replies

4. Shell Programming and Scripting

passing parameters to the script

how can i make a script to run only when parameters are given, if parameters are not given it should through an error , saying "please enter a parameter" for ex: i want a find command to run only when the parameters are given (4 Replies)
Discussion started by: knip
4 Replies

5. UNIX for Dummies Questions & Answers

Passing the parameters through a file

Hi All, I have written a shell script and the script is working fine, I am passing my MIT_ID(NUMBER VALUE) to the shell script from the command prompt and my script is executing as expected. Now I have to pass all the MIT_ID's from a .txt file to the shell script,as I am automating this I... (6 Replies)
Discussion started by: gaur.deepti
6 Replies

6. Shell Programming and Scripting

Passing the parameters using a function

Hi All, I am new to shell scripting required some help in passing the parameter value to the shell script. I am writing a shell script, in the script I have created two functions as below. first function get_trend_ids () { Here I am connecting to the database and getting all the... (3 Replies)
Discussion started by: shruthidwh
3 Replies

7. Shell Programming and Scripting

Automate the passing of parameters

I am writing a script that should read the csv file and pass the values in the file as parameters to the script. The csv file looks like this: TEST_1,20110221 TEST_2,20110220 TEST_3,20110218,20110219 Currently this is how i am running the script ./test.sh <param1> <date> Ex: ./test.sh... (6 Replies)
Discussion started by: stunnerz_84
6 Replies

8. Shell Programming and Scripting

passing more than 9 parameters

hi, i am passing around 14 parameters for a script a=$1 b=$2 c=$3 d=$4 e=$5 f=$6 g=$7 h=$8 i=\"${9}\" shift j=\"${1}\" still for j it is displaying the 1st parameter value..how to make it take the 10th parameter (2 Replies)
Discussion started by: dnat
2 Replies

9. Shell Programming and Scripting

Passing parameters through a file

I have created a script "myscript.sh" I need to run this script with diffrent parameters. The parameters are stored in a file myparam.txt. I need to run myscript.sh script for every parameter supplied in myparam.txt. Example: If myparam.txt contains following lines: param1 param2 param3... (3 Replies)
Discussion started by: chawlaaman
3 Replies

10. UNIX for Dummies Questions & Answers

Passing parameters in script

I have 2 scripts: script1 and script2 Script1 passes 4 parameters to script2 as follows #script1 code ... ... script2 $var1 $var2 $var3 $var4 Script2 uses the export command to know to expect these values #script2 export $1 $2 $3 $4 code ... ... The problem that I am having is... (1 Reply)
Discussion started by: eliguy
1 Replies
Login or Register to Ask a Question