[OT] run command via ssh - problem

Rick Stevens ricks at nerd.com
Wed Nov 4 23:39:45 UTC 2009


Bryn M. Reeves wrote:
> On Wed, 2009-11-04 at 13:32 +0000, Dan Track wrote:
>> Hi Bryn,
>>
>> Many thanks. I tried hostname -s but I keep getting the following:
>>
>> hostname: Host name lookup failure
> 
> Possibly your resolver on the servers is not configured to search its
> own local domain. Add a line like this to /etc/resolv.conf:
> 
> search mylocaldomain.com
> 
> Or, if you configure the resolver via dhcp add a directive on the server
> to pass this over to clients.
> 
>> This may be because the hostname's are short already e.g just
>> "server1" instead of "server1.example.com"
>>
>> I've updated teh script to your recommendations but I still get the
>> local hosts hostname in teh output instead of the remote servers
>> hostname. Any other thoughts?
>>
>> I now run the following:
>>
>> for i in server1 server2;do ssh root@$i "DNSNAME=$(basename
>> $(hostname)$);echo $DNSNAME";done
> 
> You need to use single quotes instead of double quotes - see the rules
> in the bash man page about quote expansion. A single quoted string is
> not subject to any expansion by the shell on the client machine but a
> double quoted string will be expanded on the client before the ssh
> command is executed.
> 
> $ ssh abox 'DNSNAME=$(basename $(hostname));echo $DNSNAME'
> abox.example.com
> 
> I still don't think that basename will do what you want here...

It's not quotes, it's the backtick.  Don't backtick the command, just

	for i in server1 server2; do ssh root@$i hostname; done

Example:

	[root at prophead ~]# for i in bigdog golem3; do ssh root@$i hostname; done
	bigdog.hci.com
	golem3.hci.com

In the OP's case, the backtick is being invoked and therefore the host
name is being passed as the command to execute on the remote machine:

	[root at prophead ~]# for i in bigdog golem3; do ssh root@$i "`hostname`"; 
done
	bash: prophead.hci.com: command not found
	bash: prophead.hci.com: command not found

See?
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer                      ricks at nerd.com -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-                Huked on foniks reely wurked for me!                -
----------------------------------------------------------------------




More information about the fedora-list mailing list