I have a script running on several macs, a small part of which fails. ---------------------------------- snippet f# Add Admin users first. foreach login ( `cat ./logins_Y.txt` ) dscl . merge /groups/cq users "$login"@<mydomain.com> end # Add normal Users next foreach login ( `cat ./logins_A.txt` ) dscl . merge /groups/cq users "$login"@<mydomain.com> end -------------------------- end snippet This reads two text files on disk and then adds each name read into a special group in the Netinfo db. It's part of a larger script, and the larger script fails somewhere in the second loop reading "logins_A.txt", leaving the group only partially filled with usernames. VERY BAD, as the group is used for authentication on the machine. This thing is, this script NEVER fails when run by hand! Only when run in cron. I have the script set to run in #!/bin/csh because this 'foreach' loop structure above fails if I run it under /bin/sh or /bin/bash and the code was given to me by someone else who uses csh on Solaris. I think it's /bin/csh that's the problem, since when invoked by hand, I'm using /bin/bash, which in turn is invoking this script that runs under /bin/csh. There's no problem then. It's the only thing I can think of. I even have a SECOND script in the cron set to run under #!/ bin/sh which checks to see if the first one fails, notifies me if it does, then re-runs the first script as an attempt to correct the situation before I can check. This check script works every single time, further making me think /bin/csh by itself is the problem. ANYWAY, I'd gladly have the script run under /bin/sh or /bin/bash IF I just knew the proper syntax for the 'foreach' structure under one of the other shells, but I can't figure it out and haven't found it yet. Can somebody help me out with the proper syntax for one of the other shells please?