[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wie baue ich mir eine Fork-Bombe...


On Fri, Sep 14, 2007 at 09:40:40AM +0200, Markus Hochholdinger wrote:
> for i in $(seq 0 $((${#SERVER[*]}-1)))
> do
>   if RESULT=$(ssh ${SERVER[$i]} "$COMMANDS" 2>&1)
>   then
>     OLDIFS="$IFS"
>     IFS="$SEPARATOR"
>     FIELD=( $RESULT )
>     IFS="$OLDIFS"
>     # save ${FIELD[@]}
>   fi &
> done

Hmm, wieso machst Du es so kompliziert?

Geht nicht sowas wie

SERVERS=""
SERVERS="${SERVERS} host1"
# den heute nicht SERVERS="${SERVERS} host2"
SERVERS="${SERVERS} host3"
SERVERS="${SERVERS} host4"
# den auch nicht SERVERS="${SERVERS} host5"

for SERVER in ${SERVERS}; do
  ssh $SERVER "$COMMANDS" 2>&1
done |
while IFS="$SEPARATOR" read A B C D E F G H junk; do
  # Die einzelnen Felder weiterverarbeiten
  echo "FOO|BAR|${A}|${B}..." > ${H}.out
done

Wenn ich irgendwoher "mehrspaltigen" Output bekomme und das Trennzeichen
kenne, dann wende ich immer das Konstrukt 

do_something | 
while IFS='|' read FOO BAR BLA FASEL junk; do
  something_else $FOO $BAR $BLA ... 
done

Gruss
Raphael




-- 
http://mailman.uugrn.org/mailman/listinfo/uugrn