I\'m writing a shell script that looks like this:
for i in $ACTIONS_DIR/*
do
if [ -x $i ]; then
exec $i nap
exec transfers control of the PID over to the program you're exec'ing. This is mainly used in scripts whose sole purpose is to set up options to that program. Once the exec is hit, nothing below it in the script is executed.
Also, you should try some quoting techniques:
for i in $ACTIONS_DIR/*
do
if [ -x "$i" ]; then
"./$i" nap
fi
done
You might also look into using find(1) for this operation:
find $ACTIONS_DIR \
-maxdepth 1 \
-type f \
-perm +0111 \
-exec {} nap \;