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@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@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(a)nerd.com -
- AIM/Skype: therps2 ICQ: 22643734 Yahoo: origrps2 -
- -
- Huked on foniks reely wurked for me! -
----------------------------------------------------------------------