executing commands over ssh

Hi

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

done

Hi

I get something like

grep: 0652-033 Cannot open volume.
grep: 0652-033 Cannot open identifier

regards

Hi.

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