Sponsored Content
Top Forums Shell Programming and Scripting Something went wrong in the following loop Post 302179954 by era on Saturday 29th of March 2008 07:42:23 AM
Old 03-29-2008
Superficially, it looks okay. Usually this happens when you have an "else" without a prior "if" but as far as I could quickly see, these are balanced. We could speculate that there is something outside the part you posted (or perhaps invisible control characers we can't see) which are masking out one of the early "if"s. A typical problem is if you have a missing closing quote somewhere; it's okay, in shell syntax, to have multi-line strings, so the string runs on and on and on and a large part of your script ends up missing because it's inside the string when finally another balancing close quote is encountered.

Maybe an example is better to show this.

Code:
if 'true magic is false; then
  echo I snot
  echo foo!'
else
  implode --violent --fireworks
fi

See? So the "then" never happens as far as the shell is concerned, because it's inside a string, and then it acts surprised when it sees an "else" where it expected a "then". The reason is that the opening quote on the first line starts a long string which only ends just before the else.

This should quickly become evident if you run with set -vx but if it's a large script, of course, it all scrolls by very fast. 2>&1 | less is your friend.

Last edited by era; 03-29-2008 at 08:46 AM.. Reason: Note about set -vx
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

new to shell scripting: whats wrong with my if loop

#!/bin/bash for file in $HOME/*; do if ; then rm -i $file > /dev/null echo "$?" echo "$file has been deleted" fi done Been trying to learn shell scripting for a week or so now, when i run the script it doesnt display an error message, seems like it runs fine, however it doesnt delete... (10 Replies)
Discussion started by: stride6
10 Replies

2. Shell Programming and Scripting

What is wrong in my IF loop ??

What is wrong in my IF loop if then echo " The request is authenticated " fi The error im getting is $ ./routing.sh server enables ********************************************************************** Preparing to service the request for Device server in Question... (9 Replies)
Discussion started by: raghunsi
9 Replies

3. Shell Programming and Scripting

Something wrong with while loop

Hi there, i've written a script to extract a portion of a MySQL database table and convert it to CSV and then to import it back as CSV to MySQL. Initially it worked without the while loop but after adding the while loop statement, i am getting the following error: ./export-csv-coordinates.sh:... (4 Replies)
Discussion started by: edge80
4 Replies

4. Shell Programming and Scripting

Whats wrong with my Loop

Hi all, I have been given a task to search for strings in a file that is encoded. I need to display the file name only when all the 3 strings which i provide are present in the file name. i first try to get a list of files according from the directory according to the value passed in argument... (0 Replies)
Discussion started by: amit1_x
0 Replies

5. Shell Programming and Scripting

what's wrong with that loop ?

hello everybody, here's my code mkf () { INDEX=0; while ; do touch "file$1.f"; INDEX=$INDEX+1; done } when I type mkf 10 the loop seems to act infinite and only the last file of the loop is created, in the example below, there just is file10.f in... (11 Replies)
Discussion started by: Oddant
11 Replies

6. UNIX for Dummies Questions & Answers

Loop and variable not exactly variable: what's wrong

Hello guys, This truly is a newbie question. I'm trying to make a loop to execute simultaneous commands indefinitely while using variable. Here is how my mess looks like (this is just an example): #!/bin/bash IP=`shuf -n 1 IP.txt` # I figured this would be easier to select random lines... (4 Replies)
Discussion started by: bobylapointe
4 Replies

7. Shell Programming and Scripting

Why result is wrong here ? whether break statement is wrong ?

Hi ! all I am just trying to check range in my datafile pls tell me why its resulting wrong admin@IEEE:~/Desktop$ cat test.txt 0 28.4 5 28.4 10 28.4 15 28.5 20 28.5 25 28.6 30 28.6 35 28.7 40 28.7 45 28.7 50 28.8 55 28.8 60 28.8 65 28.1... (2 Replies)
Discussion started by: Akshay Hegde
2 Replies

8. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

9. Shell Programming and Scripting

What is wrong with my if loop?

Hello everyone, I need a little help. I wrote a cshell script to change the format of a file but it is not working. input file is like that: 2014 3 20 15 0 5.270 40.7739 27.6471 20.232 0.6 0 0 0 1 Site6 4.081 1.00 P Site6 7.585 1.00 S Site1 4.441 1.00 P... (9 Replies)
Discussion started by: miriammiriam
9 Replies

10. Shell Programming and Scripting

What's wrong with this while loop?

function get_tablespace() { ## Get the current size of the tablespace size=`su -l oracle -c 'db-control report' |egrep "DATA_TBS" | awk '{print $5}'|tr -d '%'` ## Loop through until the size is 82 or less count=0 while && do ... (2 Replies)
Discussion started by: bille
2 Replies
iconv_1250(5)						Standards, Environments, and Macros					     iconv_1250(5)

NAME
iconv_1250 - code set conversion tables for MS 1250 (Windows Latin 2) DESCRIPTION
The following code set conversions are supported: +----------------------------------------------------------------------+ | Code Set Conversions Supported | +-------------+----------+--------------+----------+-------------------+ | Code | Symbol | Target Code | Symbol | Target Output | +-------------+----------+--------------+----------+-------------------+ |MS 1250 | win2 | ISO 8859-2 |iso2 |ISO Latin 2 | +-------------+----------+--------------+----------+-------------------+ |MS 1250 | win2 | MS 852 |dos2 |MS-DOS Latin 2 | +-------------+----------+--------------+----------+-------------------+ |MS 1250 | win2 | Mazovia |maz |Mazovia | +-------------+----------+--------------+----------+-------------------+ |MS 1250 | win2 | DHN |dhn |Dom Handlowy Nauki | +-------------+----------+--------------+----------+-------------------+ CONVERSIONS
The conversions are performed according to the following tables. All values in the tables are given in octal. MS 1250 to ISO 8859-2 For the conversion of MS 1250 to ISO 8859-2, all characters not in the following table are mapped unchanged. +-----------------------------------------------------------------+ | | Conversions|Performed | | | MS 1250 | ISO 8859-2 | MS 1250 | ISO 8859-2 | |24-211 | 40 |235 |273 | |212 | 251 |236 |276 | |213 | 40 |237 |274 | |214 | 246 |241 |267 | |215 | 253 |245 |241 | |216 | 256 |246-267 |40 | |217 | 254 |271 |261 | |221-231 | 40 |273 |40 | |232 | 271 |274 |245 | |233 | 40 |276 |265 | |234 | 266 |247 |365 | +---------------+----------------+----------------+---------------+ MS 1250 to MS 852 For the conversion of MS 1250 to MS 852, all characters not in the following table are mapped unchanged. +-----------------------------------------------------------------+ | | Conversions|Performed | | | MS 1250 | MS 852 | MS 1250 | MS 852 | |200-211 | 40 |311 |220 | |212 | 346 |312 |250 | |213 | 40 |313 |323 | |214 | 227 |314 |267 | |215 | 233 |315 |326 | |216 | 246 |316 |327 | |217 | 215 |317 |322 | |220-231 | 40 |320 |321 | |232 | 347 |321 |343 | |233 | 40 |322 |325 | |234 | 230 |323 |340 | |235 | 234 |324 |342 | |236 | 247 |325 |212 | |237 | 253 |326 |231 | |240 | 377 |327 |236 | |241 | 363 |330 |374 | |242 | 364 |331 |336 | |243 | 235 |332 |351 | |244 | 317 |333 |353 | |245 | 244 |334 |232 | |246 | 40 |335 |355 | |247 | 365 |336 |335 | |250 | 371 |337 |341 | |251 | 40 |340 |352 | |252 | 270 |341 |240 | |253 | 256 |342 |203 | |254 | 252 |343 |307 | |255 | 360 |344 |204 | |256 | 40 |345 |222 | |257 | 275 |346 |206 | |260 | 370 |347 |207 | |261 | 40 |350 |237 | |262 | 362 |351 |202 | |263 | 210 |352 |251 | |264 | 357 |353 |211 | |265-267 | 40 |354 |330 | |270 | 367 |355 |241 | |271 | 245 |356 |214 | |272 | 255 |357 |324 | |273 | 257 |360 |320 | |274 | 225 |361 |344 | |275 | 361 |362 |345 | |276 | 226 |363 |242 | |277 | 276 |364 |223 | |300 | 350 |365 |213 | |301 | 265 |366 |224 | |302 | 266 |367 |366 | |303 | 306 |370 |375 | |304 | 216 |371 |205 | |305 | 221 |372 |243 | |306 | 217 |374 |201 | |307 | 200 |375 |354 | |310 | 254 |376 |356 | +---------------+----------------+----------------+---------------+ MS 1250 to Mazovia For the conversion of MS 1250 to Mazovia, all characters not in the following table are mapped unchanged. +-----------------------------------------------------------------+ | | Conversions|Performed | | | MS 1250 | Mazovia | MS 1250 | Mazovia | |200-213 | 40 |310-311 |40 | |214 | 230 |312 |220 | |215-216 | 40 |313-320 |40 | |217 | 240 |321 |245 | |220-233 | 40 |322 |40 | |234 | 236 |323 |243 | |235-236 | 40 |324-325 |40 | |237 | 246 |326 |231 | |240 | 377 |327-333 |40 | |241-242 | 40 |334 |232 | |243 | 234 |335-336 |40 | |244 | 40 |337 |341 | |245 | 217 |340-341 |40 | |246-252 | 40 |342 |203 | |253 | 256 |343 |40 | |254 | 252 |344 |204 | |255-256 | 40 |345 |40 | |257 | 241 |346 |215 | |260 | 370 |347 |207 | |261 | 361 |350 |40 | |262 | 40 |351 |202 | |263 | 222 |352 |221 | |264 | 40 |353 |211 | |265 | 346 |354-355 |40 | |266 | 40 |356 |214 | |267 | 372 |357-360 |40 | |270 | 40 |361 |244 | |271 | 206 |362 |40 | |272 | 40 |363 |242 | |273 | 257 |364 |223 | |274-276 | 40 |365 |40 | |277 | 247 |366 |224 | |300-303 | 40 |367 |366 | |304 | 216 |370-373 |40 | |305 | 40 |374 |201 | |306 | 225 |375-376 |40 | |307 | 200 | | | +---------------+----------------+----------------+---------------+ MS 1250 to DHN For the conversion of MS 1250 to DHN, all characters not in the following table are mapped unchanged. +-----------------------------------------------------------------+ | | Conversions|Performed | | | MS 1250 | DHN | MS 1250 | DHN | |200-213 | 40 |306 |201 | |214 | 206 |307-311 |40 | |215-216 | 40 |312 |202 | |217 | 207 |313-320 |40 | |220-233 | 40 |321 |204 | |234 | 217 |322 |40 | |235-236 | 40 |323 |205 | |237 | 220 |324-325 |40 | |240 | 377 |326 |231 | |241-242 | 40 |327-333 |40 | |243 | 203 |334 |232 | |244 | 40 |335-336 |40 | |245 | 200 |337 |341 | |246-252 | 40 |340 |40 | |253 | 256 |341 |240 | |254 | 252 |342-345 |40 | |255-256 | 40 |346 |212 | |257 | 210 |347-351 |40 | |260 | 370 |352 |213 | |261 | 361 |353-354 |40 | |262 | 40 |355 |241 | |263 | 214 |356-360 |40 | |264 | 40 |361 |215 | |265 | 346 |362 |40 | |266 | 40 |363 |216 | |267 | 372 |364 |223 | |270 | 40 |365 |40 | |271 | 211 |366 |224 | |272 | 40 |367 |366 | |273 | 257 |370-371 |40 | |274-276 | 40 |372 |243 | |277 | 221 |373-376 |40 | |300-305 | 40 | | | +---------------+----------------+----------------+---------------+ FILES
/usr/lib/iconv/*.so conversion modules /usr/lib/iconv/*.t conversion tables /usr/lib/iconv/iconv_data list of conversions supported by conversion tables SEE ALSO
iconv(1), iconv(3C), iconv(5) SunOS 5.10 18 Apr 1997 iconv_1250(5)
All times are GMT -4. The time now is 02:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy