【问题标题】:Assigning variable from hostname从主机名分配变量
【发布时间】:2016-04-04 21:40:30
【问题描述】:

我正在尝试将 CentOS 6 机器的主机名分配为变量。我有:

BOX="hostname"
echo $BOX
rm -rfv /etc/hosts
cp /hardware/dats/files/$BOX/hosts /etc

我也试过

BOX='hostname'

BOX= hostname

但变量似乎没有坚持。没有错误,它只是不复制。 有什么想法吗?

【问题讨论】:

  • echo cp /hardware/dats/files/$BOX/hosts /etc 显示什么?
  • cp /hardware/dats/files/hostname/hosts /etc 的所有版本。
  • 这里到底有什么问题?什么不粘? echo $BOX 没有显示正确的内容吗? cp 没有复制正确的文件吗?使用cp -v 显示什么? cp 的返回码是什么?
  • 您的所有尝试都将BOX 设置为文字字符串hostname。您是否尝试运行hostname 命令并将其设置为输出?使用反引号或$() 来做到这一点。这是初学者的 shell 语法。

标签: bash variables centos


【解决方案1】:

如果您想将主机名放在BOX 变量中,而不是文字字符串hostname,请使用command substitution

BOX=$(hostname)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多