break while loop in BASH


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting break while loop in BASH
# 1  
Old 03-13-2010
break while loop in BASH

Hi gurus, I have the following part of code which I am using for treating input
Code:
#!/bin/bash

while [[ $1 = -* ]]; do
    arg=$1; shift

    case $arg in
        -u)
            users="$1"
            shift
            ;;
        -g)
            groups="$1"
            shift
            ;;
        -m)
            mlength="$1"
            shift
            ;;
        -t)
            dfileg="$1"
            shift
            ;;
        --help)
            echo "-m maximum count of characters per line in group file"
            echo "for errors see file called: errorlog"
            break
            ;;
        *)
            break
            ;;

when I issue
Code:
./script -u john -g daemon -m 100 -t group

everything works fine

but when I issue
Code:
./script --help

the script echos text but did not exit. (I have to interrupt it by ctrl+c) how can I close script after issuing --help ? Thanks a lot
# 2  
Old 03-13-2010
Change 'break' to 'exit' in the --help case.
# 3  
Old 03-14-2010
Thanks a lot, this helps Smilie BTW is there any more elegant way of treating input ?
# 4  
Old 03-14-2010
Hi wakatana:

I don't think I would go so far as to call it elegant, but there is a standardized utility for dealing with command line options and arguments. getopts

It's usually implemented as a shell built-in, so search your shell's man page for 'getopts'.

Regards,
Alister
# 5  
Old 03-15-2010
yes, you should use getopts
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Break in for loop

in my python script i have loop like below: for item in itemlist: if <condition>: <code> else: <code> if <condition>: if <condition>: <code> else: for type in types: if... (1 Reply)
Discussion started by: ctrld
1 Replies

2. Shell Programming and Scripting

Basic FOR loop with break

Oracle Linux : 6.4/bash shell In the below I want to break out of the loop when it enters the 5th iteration. #!/bin/bash for i in 1 2 3 4 5 6 do echo "$i" if echo "Oh Nooo... i = $i. I need to stop the iteration and jump out of the loop" then break fi done But, it only... (3 Replies)
Discussion started by: John K
3 Replies

3. UNIX for Dummies Questions & Answers

Script to break up file (write new files) in bash

Hello experts, I need help writing individual files from a data matrix, with each new file being written every time there is a blank line: From this cat file.txt col1 col2 col3 6661 7771 8881 6661 7771 8881 6661 7771 8881 col1 col2 col3 3451 2221 1221... (6 Replies)
Discussion started by: torchij
6 Replies

4. Shell Programming and Scripting

Break the outer loop

Hi I'm comparing same files names which are in different folders . The first for loop for the files in DAY1 folder and the second for loop for the files in DAY2 folder . the first IF condition is for checking whether the file names are equal the second If condtion is for checking the... (4 Replies)
Discussion started by: smile689
4 Replies

5. Shell Programming and Scripting

For loop to break apart word

notimes=5 word=excellency the word excellency contains 10 letters. 10 letters divided by 2 = 5. which means, 5 two-groups of letters are in the word excellency. i need to perform a function on each group of letters. but the only thing i can think of is the following, which i just know... (5 Replies)
Discussion started by: SkySmart
5 Replies

6. Shell Programming and Scripting

BASH: Break line, read, break again, read again...

...when the lines use both a colon and commas to separate the parts you want read as information. The first version of this script used cut and other non-Bash-builtins, frequently, which made it nice and zippy with little more than average processor load in GNOME Terminal but, predictably, slow... (2 Replies)
Discussion started by: SilversleevesX
2 Replies

7. Shell Programming and Scripting

How to break a loop if condition is met

I am having trouble figuring this code I want to grep a text from a file and if it match certain text it break out of the loop or it should continue searching for the text Here is what I have written but it isn't working while true f=`grep 'END OF STATUS REPORT' filename` do if ... (9 Replies)
Discussion started by: Issemael
9 Replies

8. Shell Programming and Scripting

Weird loop break,- please Help

Hi all, im doing this script in which i read from a logfile line by line, my problem is this: The script was working fine until i added this statement to SSH into another machine to look for some data, it enters and retrieves the data just fine, but for some strange reason after it goes thru the... (1 Reply)
Discussion started by: sx3v1l_1n51de
1 Replies

9. Shell Programming and Scripting

How to break the while loop???(Very Urgent)

H, I am running the following log.sh shell script. $no_of_ps=7 while do echo "hello $no_of_ps" ps_file=`tail -$no_of_ps /tmp/A380_RFS24/test.ls | head -1` no_of_ps=`expr $no_of_ps - 1` echo "package is: $ps_file" >> /tmp/A380_RFS24/log/A380_RFS24.log ps_file1=`echo $ps_file| sed... (1 Reply)
Discussion started by: sunitachoudhury
1 Replies

10. Shell Programming and Scripting

ksh how user can break out of loop

Hi Folks, I am trying to write a simple script which involves a potentially infinite loop repeating a number of tasks quickly. I would like to enable the user to break out of this when he/she wishes (some key stroke) but not to break out of the script (i.e. which is what happens when a user... (4 Replies)
Discussion started by: beckett
4 Replies
Login or Register to Ask a Question