[Solved] How to refer more than 9 command line inputs for a scripts in korn shell?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [Solved] How to refer more than 9 command line inputs for a scripts in korn shell?
# 1  
Old 12-03-2013
[Solved] How to refer more than 9 command line inputs for a scripts in korn shell?

Hi all,

I have a script which should take more than 9 command line inputs while running. Like
Code:
script.sh a s d f g h j j k l o p i u y t r e w

Now in the script if I have to access one of the input which is at position after 9, in this case say 'p' then how can I do that?
Code:
echo $12

will not work as 1 & 2 would be taken as two independent numbers. I found a suggestion to mention
Code:
echo ${12}

but I guess it is for Bourne shell and for me on Korn shell it it is giving error as: script.sh: bad substitution

Can you please help me on this or direct me to a place when I can get more information.

Thanks,
Pat
# 2  
Old 12-03-2013
That should work on any POSIX-compliant shell, including ksh (unless it's quite old). What's your OS?
# 3  
Old 12-04-2013
It's SunOS 5.8 on UNIX server. Should {} work here Smilie

Last edited by pat_pramod; 12-04-2013 at 12:25 AM..
# 4  
Old 12-04-2013
Code:
#!/bin/ksh
i=1
for arg in $*
do
  eval param$i=$arg;
  i=$(($i + 1))
done

echo $param12

# 5  
Old 12-04-2013
${12} worked in the Bourne shell and has been supported by all versions of ksh since day 1.

Please show us your entire script, the command line you're using to invoke your script, and the EXACT diagnostic message you're getting when you run it.
# 6  
Old 12-04-2013
Thank you for your input everyone. I am trying this and the output is also pasted here.
Code:
/export/home/pj317q> cat displayname.sh
echo $1
echo $2
echo $9
echo ${15}
echo ${10}
/export/home/pj317q> sh displayname.sh a b c d e f g h I j k l m n o p q r s t u v
a
b
I
displayname.sh: bad substitution
/export/home/pj317q>

Not sure whats going wrong.
# 7  
Old 12-04-2013
Hi,
A solution:
Code:
$ /usr/bin/sh
$ set A B C D E F G H I J K L M N O P Q R S
$ echo $#
19
$ echo $19
A9
$ echo ${19}
bad substitution
$ echo $9
I
$ shift 10
$ echo $9
S

Regards.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to send keyboard inputs toa UNIX command executed from a shell script?

I have a unix command that prompts for 'y'. How do I run this from my shell script? (4 Replies)
Discussion started by: Sree10
4 Replies

2. Shell Programming and Scripting

[Solved] Finding a word in all shell scripts

Hi i have to find the shell script that contain the word PROC__TO_UPDATE SEARCH SHOULD BE INSENSITIVE AND SCRIPT CAN BE DEPLOYED IN ANY PATH. I am on Solaris. (27 Replies)
Discussion started by: rafa_fed2
27 Replies

3. UNIX for Dummies Questions & Answers

[Solved] Korn Shell execution

There are two Korn Shell scripts : script_1.ksh ( located in /home/dir1 ) script_2.ksh ( located in /home/dir2 ) Content of script_2.ksh is #!/usr/bin/ksh echo "Hello world.." The script_2.ksh is called from within script_1.ksh using the following command : ./home/dir2/script_2.ksh but... (7 Replies)
Discussion started by: kumarjt
7 Replies

4. Shell Programming and Scripting

[Solved] Issue with using for loop as for in {2..6} in korn shell

Hi i have to cut columns 2 to 6 from a file and assign it to arrays , The following code works for ctcol in 2 3 4 5 6; do set -A a$ctcol $(cut -d, -f $ctcol test_file) done how ever this does not work for ctcol in {2..6}; do set -A a$ctcol $(cut -d, -f $ctcol test_file)... (4 Replies)
Discussion started by: 100bees
4 Replies

5. UNIX for Dummies Questions & Answers

[Solved] How to refer to input file in code?

This may be a dumb question, but googling is not giving me an answer. I'm trying to figure out how to refer to an input file in my code. Lets say i run a script in bash: "sh shellscript.sh inputfile" (Inputfile will be variable...whatever file i run the script on) I wanted to make... (5 Replies)
Discussion started by: legato22
5 Replies

6. Shell Programming and Scripting

Print pipe separated list as line by line in Korn Shell

Korn Shell in AIX 6.1 I want to print the below shown pipe (|) separated list line by line. line=es349889|nhb882309|ts00293|snh03524|bg578835|bg37900|rnh00297|py882201|sg175883 for i in line do echo "Hello $line " done I wanted to execute the above for loop. But i can't even set the... (3 Replies)
Discussion started by: polavan
3 Replies

7. Programming

How to refer to variable (korn shell)?

Hi I have the following block of code in korn shell and don't now how to refer to variable `print variable1.$dvd` ? --- integer dvd=4 integer number=0 while (( dvd!=0 )) do print "Iteracja numer : $dvd" print "$_" #it refers to $dvd var but want to refer... (3 Replies)
Discussion started by: presul
3 Replies

8. Shell Programming and Scripting

Vaildation of command line inputs

Hi, I want to do the following validations in my script when my script gets 2 parameters as command line inputs. My script expects 2 inputs : a -f option and a filename If a filename is given as input without the -f option then I have to exit. If only -f option is given and no filename is... (6 Replies)
Discussion started by: sendhilmani123
6 Replies

9. Shell Programming and Scripting

Command line inputs validation

Hi, I have a script called read.sh that takes a file as input. Now I want to make that script take the file as input with a -f option preceding the filename. How can I do this validation. How can I find whether the given option is -f or not inside the script. Thanks in advance (2 Replies)
Discussion started by: sendhilmani123
2 Replies

10. UNIX for Advanced & Expert Users

Error Handling in Korn Shell scripts

Hi, I am using few ISQL statements to update and delete from a few tables in sybase, now i want to roll back the transaction when any of the statements fail.How i can i capture these errors in the shell scripts.Please advise. Thanks, Gopi (4 Replies)
Discussion started by: bhgopi
4 Replies
Login or Register to Ask a Question