trouble looping in script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting trouble looping in script
# 1  
Old 12-13-2011
Question trouble looping in script

I am having problem looping this script
I want to give the user option to decide if they want to continue after each entry but then also loop it back to beginning so they can more to content of there testcase they just created. I fam new to scripting so loops are little tricky for me.

code I presently have
Code:
print "Please enter test case name"
read testcasename
echo $testcasename
while [ $CHOICE -nq N ];
do
print "Please enter in field 1 Version"
read version
if [[ "${#version}" -lt 4 ]] ; then
print -n $version >> $testcasename
else
print "too many bytes"
print "Do you want to continue Y/N?"
read CHOICE
fi
 
print "Pleasent in field 2 Date"
read date
if [[ "${#date}" -lt 9 ]] ; then
print -n $date >> $testcasename
else
print "too many bytes"
print "Do you want to continue Y/N?"


fi
exit

Moderator's Comments:
Mod Comment Please use

code tags!

Last edited by vbe; 12-13-2011 at 02:10 PM.. Reason: please use code tags for your code and data
# 2  
Old 12-13-2011
Q: Did you initialize correctly $CHOICE ?
# 3  
Old 12-14-2011
Are you looking for something like this?

Code:
#!/bin/bash

read -p "Please enter test case name : " testcasename

while true
do
  read -p "Please enter in field 1 Version : " version
  if [[ "${#version}" -lt 4 ]] ; then
    echo  $version >> $testcasename
  else
    read -p "Invalid Data. Do you want to continue Y/N? : " CHOICE
    test "$CHOICE" = "N" && break
  fi
  read -p "Please enter date : " DATE
  if [[ "${#DATE}" -lt 9 ]] ; then
    echo  $date >> $testcasename
  else
    read -p "Invalid Data. Do you want to continue Y/N? : " CHOICE
    test "$CHOICE" = "N" && break
  fi
  read -p "Do you want to continue Y/N? : " CHOICE
  test "$CHOICE" = "N" && break
done

--ahamed
# 4  
Old 12-14-2011
I have something like this but not sure why I am getting errors now:

Ok this is new code:

#!/bin/ksh
set -x

print "This script creates test messages"

print "Please enter test case name"
read testcasename
echo $testcasename

CHOICE=Y

while [ $CHOICE -ne N ];
do
print "Please enter in field 1 Version"
read version
if [[ "${#version}" -lt 4 ]] ; then
print -n $version >> $testcasename
else
print "too many bytes"
fi
print "Do you want to continue Y/N?"
read CHOICE

done

CHOICE2=Y
while [ $CHOICE2 -ne N ];
do
print "Pleas enter in field 2 Date"
read date
if [[ "${#date}" -lt 9 ]] ; then
print -n $date >> $testcasename
else
print "too many bytes"

print "Do you want to continue Y/N?"
read CHOICE2

done

fi

exit

and output is

$ ./"andrew_testter.ksh"
+ print This script creates test messages
This script creates test messages
+ print Please enter test case name
Please enter test case name
+ read testcasename
andytest
+ echo andytest
andytest
+ CHOICE=Y
+ [ Y -ne N ]
./andrew_testter.ksh[12]: Y: bad number
+ CHOICE2=Y
./andrew_testter.ksh[26]: syntax error at line 40 : `done' unexpected
# 5  
Old 12-14-2011
Code:
 
before
while [ $CHOICE2 -ne N ];

after
while [ $CHOICE2 != "N" ]
 
Also you may want to use typeset so the user does
not need worry about entering the respone in the
the correct case

# 6  
Old 12-14-2011
Code is a lot easier to read (and debug) if you indent it properly. Also, use [code] tags.

Code:
$CHOICE -ne N

-ne is a numeric test - != for strings.

Code:
read CHOICE2

done

fi

fi and done are in the wrong order.
# 7  
Old 12-14-2011
the second done is before fi...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Trouble looping commands

Hi, I have encountered a problem that I am unable to find a workaround for. I have 52 numbers and I need to submit an individual job for each pair combination, so too many to do by hand. I have created a submission file (submission_code.sh) which contains the following code: gcta64... (2 Replies)
Discussion started by: tim.morris
2 Replies

2. Shell Programming and Scripting

Bash Script Looping all the time

Hello, I have a database file, named data.txt, and a shell script (convert.sh) to convert data.txt from columns to row. Output file name will be column_to_row.txt In this example data.txt has only four rows. Format of data.txt is: info name surname telefon_nr Data.txt info boris... (1 Reply)
Discussion started by: baris35
1 Replies

3. Shell Programming and Scripting

Infinite looping in script

we have one script which we use to send mail in our environment. If we are giving correct attachment script runs fine but if we give a attachment name which is not present on server then this script go to infinite loop and causing all memory to be used. could any one please suggest me what is wrong... (2 Replies)
Discussion started by: anshu ranjan
2 Replies

4. Shell Programming and Scripting

Looping in the shell script with help of script timer.

Hello Experts- We are facing some issues in the while loop script when we use the script time to decide whether to exist from the loop or continue. Below is the script SrcExitLoop="FALSE" Src_InitialStartTime=`date +%s` Src_StartTime=`date +%s` Src_NUM_ALERTS=0 TOTAL_ALERTS=`expr <SOME... (4 Replies)
Discussion started by: Amey Joshi
4 Replies

5. Shell Programming and Scripting

Looping Bash Script

Does anyone have a same of a bash script that cd to a directory and execute a cgi script then moves onto the next directory then executes another cgi ? (3 Replies)
Discussion started by: Virusbot
3 Replies

6. Shell Programming and Scripting

Menu Script looping

Hi , I have a menu driven script as shown below echo "" echo "*** 1 - option 1 " echo "*** " echo "*** 2 - option 2 " echo "*** 3 - option 3 " ... (3 Replies)
Discussion started by: ultimatix
3 Replies

7. Shell Programming and Scripting

Help Looping through files in Vi Script

I am trying to write a script that loops through all the files in the current directory that end in '.slg.gz' and runs a parser on each file. Here is my code: #!/bin/bash FILES_HOME = 'dirname $0' for i in $(ls $FILES_HOME/.slg.gz$);do ./run-feature-parser $(i) > OUTPUT.csv done ... (1 Reply)
Discussion started by: kssteig
1 Replies

8. Shell Programming and Scripting

Convert shell script for looping

Situation: I have a working shell script on our file server (OSXS Tiger) to connect to a workstation, which is using a portable home directory (phd), and rsync a user's MirrorAgent.log. I'm not that strong of a scripter (obviously), but I would like to add other workstations to this script as they... (4 Replies)
Discussion started by: le0pard13
4 Replies

9. Shell Programming and Scripting

Looping script with variables

If I have a file with a bunch of various numbers in one column, how can I make a script to take each number in the file and put in into a command line? Example: cat number_file 2 5 8 11 13 34 55 I need a loop to extract each of these numbers and put them into a command line... (1 Reply)
Discussion started by: jojojmac5
1 Replies

10. Shell Programming and Scripting

Looping a perl script in a shell script

I am trying to get the follow script to run in the background on the 'fly'. I can launch it via cron and it will run in the background. BUT when I launch it from the command line it will run in the foreground. I figure it has to do with the while loop I have, but I have no clue how I can run the... (8 Replies)
Discussion started by: edkung
8 Replies
Login or Register to Ask a Question