Loop to read parameters and stop


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Loop to read parameters and stop
# 1  
Old 06-12-2012
Loop to read parameters and stop

Hey guys,

How do I make a loop that reads all the parameters en then stop when there are no parameters anymore ?
Something that gives an output like this:

./Script.sh parameter1 parameter2 parameter3

parameter = parameter1
parameter = parameter2
parameter = parameter3

Thanks a lot,
Michael
# 2  
Old 06-12-2012
Code:
./script.sh param1 param2 param3 .... paramN

in script.sh
Code:
parameters=$*

for param in $parameters
do
   echo $param
done

This User Gave Thanks to donadarsh For This Post:
# 3  
Old 06-12-2012
Works perfectly thank you very much !
# 4  
Old 06-12-2012
Variation which allows for space characters in parameters, and illustrates walking the list with shift:

Code:
total=$#
counter=0
while [ $counter -lt $total ]
do
        echo "parameter = $1"
        shift
        counter=`expr $counter + 1`
done

# 5  
Old 06-12-2012
Code:
$ sh -c 'while [ "${1+set}" ]; do echo "parm=$1"; shift; done;' _ a '' c d
parm=a
parm=
parm=c
parm=d

# 6  
Old 06-12-2012
When a for loop is not provided a list, it defaults to the script's parameters:
Code:
for p; do
    echo "parameter=$p"
done

Alternatively, you can take advantage of the fact that printf reuses the format string until it has exhausted its arguments:
Code:
[ "$*" ] && printf parameter=%s\\n "$@"

Regards,
Alister

Last edited by alister; 06-12-2012 at 01:54 PM.. Reason: typo
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Read in numbers from console won't stop at newline.

Hello, I have snippet code from Lippman's <<C++ primer>>. The program is to convert regular decimal (0 ~ 15) numbers to basic hexdecimals. The instruction tells the program will execute by hitting newline at the end. When I tried to run the compiled program, hitting ENTER did not work as... (3 Replies)
Discussion started by: yifangt
3 Replies

2. Shell Programming and Scripting

Read command stop on either EOF or a specific line

I'm trying to stop reading a file until the end of the file is reached or a defined delimiter line is reached. Some how I need to test the fail state of the last 2 commands, not just the last command. echo -e "hello\ngoodbye\n####\ntesting" | while read line; ]; do echo "$line"; done hello... (4 Replies)
Discussion started by: Michael Stora
4 Replies

3. Shell Programming and Scripting

How to stop infinite loop

Im unable to stop the below infinite loop (bash script). Can someone tell me why this isnt responding to signals eg: ctrl+c (SIGINT) or ctrl+z c=0 test_loop() { c=$(($c+1)) echo "count value is : $c " sleep 1 test_loop } Im using: SunOS 5.10 PS: If run this as... (13 Replies)
Discussion started by: Arun_Linux
13 Replies

4. Shell Programming and Scripting

howto stop loop iteration

I wonder how to stop further loop iterations when conditions gets false e.g. This file.txt contains the following structure : 1 2 3 4 5 6 7 8 9 10 How to stop iteration when if statement gets false ? for n in `cat file.txt` do if (( n<=5 )) (1 Reply)
Discussion started by: presul
1 Replies

5. Shell Programming and Scripting

Null Handling in Until loop. . .loop won't stop

Hi Im running this script, which is supposed to find the max value build some tables and then stop running once all the tables are built. Thing is , it keeps assigning a null value to $h and then $g is null so it keep building tables i.e. testupdateNUL. How can I stop this? Here is what I have: ... (4 Replies)
Discussion started by: brandono66
4 Replies

6. Shell Programming and Scripting

Read parameters from a file

Hello all, I need to extract parameters from a file. For example, I have a file file.dat as par1 val1 par2 val2 par3 val3 I need to extract this and store val1 in par1 variable and so on. Please help. Thanks for your support. (2 Replies)
Discussion started by: cheerful
2 Replies

7. Shell Programming and Scripting

read parameters from file

Hi there, I'm wondering how I can run a script that would loop and launch a command that would take as parameter every line in a file one by one. For example, say I want to remove a list of files: ~$ cat filestoremove foo bar ~$ cat myscript for file in filestoremove; do rm $file... (2 Replies)
Discussion started by: chebarbudo
2 Replies

8. Shell Programming and Scripting

Parameters in loop

Hi, I am trying to write a script which will read inputs form user and process those files, I have issue reading the input parameters in a loop. Following is the script... I run the script as ./Script.sh 3 table1 table 2 table3 NumberOfTables=$1 let TableCount=1 while do ... (3 Replies)
Discussion started by: mgirinath
3 Replies

9. Shell Programming and Scripting

Script does not stop when doing a read

Hi Folks, I have been trying to create a script wherein after it reads a certain number of data, it will pause and ask the user if he wants to continue or not. However, it seems that when it is supposed to read the user's answer, the script will go into a loop. What is wrong with my script here?... (7 Replies)
Discussion started by: rooseter
7 Replies

10. Programming

how to stop execution in for loop

Hi all, I am working on a c source code nearly 2000 line . it contains one big for( i=0; i< 200 ; i++ ) loop of around 600 lines could any tell me how to break the execution of prog when the value of i is 50 in for loop so that i can check inside the loop. Thanks.. (1 Reply)
Discussion started by: useless79
1 Replies
Login or Register to Ask a Question