Page is a not externally linkable
- Hardware and OS Related Technologies
-- Linux, Unix, and *nix like Operating Systems
---- Bash conditional syntax error (Mac OS X)


pillsbur - 5:50 pm on May 22, 2009 (gmt 0)


Hi,

I'm working on my first Bash conditional and don't understand why Terminal is reporting a particular syntax error. I have plenty of php and javascript experience, so I'm not new to conditionals.

Here's my script:
for user in $(ls /Users)
if [ "$user" != 'administrator' ] ; then
do
sudo cp -rf /Users/gpillsbu/Library/Preferences/com.apple.dock.plist /Users/$user/Library/Preferences/com.apple.dock.plist
sudo chown -hR $user /Users/$user/Library/Preferences/com.apple.dock.plist
fi
done

Here's the error:
./Update User Dock.sh: line 7: syntax error near unexpected token `if'
./Update User Dock.sh: line 7: `if [ "$user" != 'administrator' ] ; then'

I've tried several different syntax things like removing the quotes around $user, putting the 'then' statement on its own line, retyping the whole thing, etc.

What is an "unexpected token"?

FWIW, the script has worked fine before I tried to add the conditional.

Any help is appreciated!

Glenn


Thread source:: http://www.webmasterworld.com/linux/3918650.htm
Brought to you by WebmasterWorld: http://www.webmasterworld.com