On 11/04/2009 11:39 PM, Rick Stevens wrote:
Bryn M. Reeves wrote:
On Wed, 2009-11-04 at 13:32 +0000, Dan Track wrote:
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:
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
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'
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
Yes, they are quotes (in my example above). They are there to disable
shell expansion on the client machine and to ensure the whole command
line is sent to the remote system unchanged.
for i in server1 server2; do ssh root@$i hostname; done
Read the whole thread :)
This was suggested way back but the OP wants to do the nested shell
fedora-list mailing list
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list