Sponsored Content
Top Forums Shell Programming and Scripting Loop to read parameters and stop Post 302654947 by alister on Tuesday 12th of June 2012 12:48:12 PM
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
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
varargs(3)						     Library Functions Manual							varargs(3)

NAME
varargs, va_arg, va_start, va_end - Handles a variable-length parameter list LIBRARY
Standard C Library (libc.a) SYNOPSIS
#include <varargs.h> va_alist va_dcl void va_start ( va_alist argp ); type va_arg ( va_alist argp, type ); void va_end ( va_alist argp ); PARAMETERS
argp Specifies a variable that the varargs macros use to keep track of the current location in the parameter list. Do not modify this variable. type Specifies the type to which the expected argument will be converted when passed as an argument. Unsigned char or short arguments are converted to unsigned int, and float arguments are converted to double. Different types can be mixed, but it is up to the rou- tine to know what type of argument is expected because the type cannot be determined at run time. DESCRIPTION
NOTE: When writing new code, it is recommended that you use stdarg instead of varargs. They both perform the same function, but stdarg is standards-compliant and varargs complies only with BSD conventions. The varargs set of macros allows you to write portable functions that accept a variable number of parameters. Subroutines that have vari- able-length parameter lists (such as the printf() function), but that do not use the varargs macros, are inherently nonportable because different systems use different parameter-passing conventions. The varargs macros are as follows: va_alist() Defines the type of the variable used to traverse the list. va_start() Initializes argp to point to the beginning of the list. The va_start() macro will be invoked before any access to the unnamed argu- ments. va_arg() Returns the next parameter in the list pointed to by argp. va_end() Cleans up at the end. Your function can traverse, or scan, the parameter list more than once. Start each traversal with a call to va_start() and end it with va_end(). EXAMPLE
The following example is a possible implementation of the execl() function: #include <varargs.h> #define MAXargS 100 /* ** execl is called by ** execl(file, arg1, arg2, . . . , (char *) 0); */ execl(va_alist) va_dcl { va_list ap; char *file; char *args[MAXargS]; int argno = 0; va_start(ap); file = va_arg(ap, char *); while ((args[argno++] = va_arg(ap, char *)) != (char *) 0) ; /* Empty loop body */ va_end(ap); return (execv(file, args)); } NOTES
The calling routine is responsible for specifying the number of parameters because it is not always possible to determine this from the stack frame. For example, the execl() function is passed a null pointer to signal the end of the list. The printf() function determines the number of parameters from its fmt parameter. AES Support Level: Temporary use RELATED INFORMATION
Functions: exec(2), printf(3), stdarg(3), vprintf(3) delim off varargs(3)
All times are GMT -4. The time now is 06:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy