Hi Janina: Could it be that you are missing the declaration of the "$i" variable. I added it and it worked for me. This is what I got: #!/bin/bash for i in $(ls); do if [ "$i" != "incoming/" ]; then echo "$i" fi done It seems as if you are missing the "i" after the "for". HTH David B. On Thu, Apr 28, 2005 at 10:03:25AM -0400, Janina Sajka wrote: > I'm confused over some simple bash syntax. If I write the following at > the bash (ver 3.0) prompt, all works as expected--no errors. > > But, if I execute from a script file (which begins with a #!/bin/bash of > course), I get: > > line 4: syntax error near unexpected token `then' > > What am I missing? All help much appreciated. > > > for in $( ls); do > if [ "$i" != "incoming/" ]; then > echo $i > fi > done > > > -- > > Janina Sajka Phone: +1.202.494.7040 > Partner, Capital Accessibility LLC http://www.CapitalAccessibility.Com > > Chair, Accessibility Workgroup Free Standards Group (FSG) > janina at freestandards.org http://a11y.org > > If Linux can't solve your computing problem, you need a different problem. > > > _______________________________________________ > Speakup mailing list > Speakup at braille.uwo.ca > http://speech.braille.uwo.ca/mailman/listinfo/speakup