Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 May 2003 16:55:27 +0200 (CEST)
From:      Niklas Saers Mailinglistaccount <niklasmls@doriath.saers.com>
To:        FreeBSD-Questions@freebsd.org
Subject:   bash shell for-loop
Message-ID:  <20030517164813.V37832@doriath.saers.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030517164813.V37832>