set NODES = `cat $HOST_FILE`
set NODELIST = $TMPDIR/namd2.nodelist
echo group main >! $NODELIST
foreach node ( $NODES )
echo host $node >> $NODELIST
end
@ NUMPROCS = 2 * $#NODES
I am very frustrated to translate it to bash:
NODES = `cat $HOST_FILE`
NODELIST = $TMPDIR/namd2.nodelist
echo group main > NODELIST1
for node in $NODES
do
echo host $node >> $NODELIST
done
NUMPROCS = 2 * $#NODES
The script basically capture each line of file $NODELIST and add 'host' to the beginning of each line.
Can some please help to fix my translation?
Your time is greatly appreciated!
Todd
# NODES = `cat $HOST_FILE`
NODES=$(cat $HOST_FILE) # no spaces around '=' for a value affectation
# NODELIST = $TMPDIR/namd2.nodelist
NODELIST=$TMPDIR/namd2.nodelist # same as above
echo group main > NODELIST1
for node in $NODES
do
echo host $node >> $NODELIST
done
# NUMPROCS = 2 * $#NODES
NUMPROCS=$((2 * ${#NODES})) # $(( )) is the construction for arithmetic evaluation