如何使用bash脚本获取远程实例的主机名?

时间:2016-09-26 22:08:48

标签: linux

我希望在我的脚本中使用远程服务器的主机名。 我在脚本中尝试此命令,但它无法正常工作。

#!/bin/bash

host= $(ssh -i keylocation ec2-user@ip sudo echo $HOSTNAME)
echo $host

它给了我以下错误: ./changeconfig.sh:line 3:hostname(实际主机):找不到命令

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:2)

您的代码有两个问题:

  1. host=之后的空格很重要,因此您应将其删除。
  2. 变量$HOSTNAME由本地bash扩展。
  3. 试试这个:

    host="$(ssh -i keylocation ec2-user@ip echo '$HOSTNAME')"
    

    或者

    host="$(ssh -i keylocation ec2-user@ip hostname)"
    

    我删除sudo,通常不需要检索主机名。