I am trying to send a command over ssh with a parameter but the shell fails to expand the command properly any ideas what am i doing wrong with this.
This is ssh on AIX
for i in 71 72 73 74 75 do
for server in server1 server2 do
somestr="Some String"
echo "$server hdiskpower$i \c" ; ssh $server "lsattr -El hdiskpower$i |grep $somestr "
done
done
What is the error which you are getting? Probably you can try:
for i in 71 72 73 74 75
do
for server in server1 server2
do
somestr="Some String"
cmd="lsattr -El hdiskpower$i |grep $somestr"
echo "$server hdiskpower$i \c" ; ssh $server "$cmd"
done
done
You probably just need to quote the grep, as it has a space in it:
for i in 71 72 73 74 75
do
for server in server1 server2
do
somestr="Some String"
cmd="lsattr -El hdiskpower$i |grep '$somestr'"
echo "$server hdiskpower$i \c" ; ssh $server "$cmd"
done
done
Your original code should also work.
for i in 71 72 73 74 75 do
for server in server1 server2 do
somestr="Some String"
echo "$server hdiskpower$i \c" ; ssh $server "lsattr -El hdiskpower$i |grep '$somestr'"
done
done