I dont seem to be able assign a bunch of variables in my shell script. Im trying to assign HOST1,HOST2,HOST3 to three different machine names.
My script is as follows:
#!/bin/bash
#
set -vx
FIXHOSTS=`cat /tmp/fixHosts.txt`
NUMBER=1
NUMBEROFHOSTS=`cat /tmp/fixHosts.txt | wc -l`
for line in $FIXHOSTS
do
HOST$NUMBER=$line
echo $HOST1
((NUMBER = $NUMBER + 1))
done
echo $HOST1
echo $HOST2
echo $HOST3
echo $HOST4
fixHosts.txt contains the following:
wayne-000
wayne-002
wayne-003
This is the output I get:
for line in $FIXHOSTS
do
HOST$NUMBER=$line
echo $HOST1
((NUMBER = $NUMBER + 1))
done
+ for line in '$FIXHOSTS'
+ HOST1=wayne-000
fvwmtest.sh: line 15: HOST1=wayne-000: command not found
+ echo
+ (( NUMBER = 1 + 1 ))
+ for line in '$FIXHOSTS'
+ HOST2=wayne-002
fvwmtest.sh: line 15: HOST2=wayne-002: command not found
+ echo
+ (( NUMBER = 2 + 1 ))
+ for line in '$FIXHOSTS'
+ HOST3=wayne-003
fvwmtest.sh: line 15: HOST3=wayne-003: command not found
+ echo
+ (( NUMBER = 3 + 1 ))
#done
echo $HOST1
+ echo
echo $HOST2
+ echo
echo $HOST3
+ echo
echo $HOST4
+ echo
Why don't they echo? Why are they not getting assigned?