bash shell for-loop

Niklas Saers Mailinglistaccount niklasmls at doriath.saers.com
Sat May 17 07:55:30 PDT 2003


Hi,
I've created a small bash script that stops, and I cannot understand why
it stops. It is:

#!/usr/local/bin/bash
for username in $(ls /home); do
  su -m $username /home/$username/startup.sh;
done

When I type this at the bash prompt, it goes well. However, when I call
this script it executes the first su and then gives me:

[4]+  Stopped                 bash /tmp/sh.sh

Why does it stop? I've nowhere asked it to stop. I certainly don't want it
to stop.

To explain my command, I start a set of daemons for each user specified in
~/startup.sh and no user has a valid shell as I do not wish to allow them
any kind of login access. Thus I have to include the "-m"

What makes a bash script stop? How can I set it to ignore whatever is
requesting it (errorlevels?) to stop?

Cheers

  Nik


More information about the freebsd-questions mailing list