【问题标题】:Unable to echo variable value无法回显变量值
【发布时间】:2019-11-10 06:32:11
【问题描述】:

在变量中分配 sed 命令的输出但无法打印其值,该命令工作正常:-

uptime | sed -e 's/^.*up //' -e 's/[^0-9:].*//' | sed 's/:/*60+/g'

但我为其分配了一个变量,如下所示:-

abc=uptime | sed -e 's/^.*up //' -e 's/[^0-9:].*//' | sed 's/:/*60+/g'

调用变量并没有拉取值。

尝试如下:-

echo {"$abc"}
printf "$abc"
echo "${abc}"

请建议输出的语法。

abc=uptime | sed -e 's/^.*up //' -e 's/[^0-9:].*//' | sed 's/:/*60+/g'

实际上,我们只需要提取 AIX 服务器上的正常运行时间值,并调用该值来形成服务器报告,该报告将显示 AIX 服务器的服务器正常运行时间天数。需要知道如何调用变量值并将其嵌入到 shell 脚本中。

【问题讨论】:

    标签: shell unix aix


    【解决方案1】:

    取决于您的 shell,但对于大多数 sh-ish 变体:

    abc=$(uptime | sed -e 's/^.*up //' -e 's/[^0-9:].*//' | sed 's/:/*60+/g')
    

    【讨论】:

    • 我在服务器 /usr/bin/ksh 上的 shell
    • 它可以与 ksh 或 bash 一起使用,可能还有很多其他的。
    【解决方案2】:

    因为您没有将最终评估存储在 abc 中。 试试
    abc=$(uptime | sed -e 's/^.*up //' -e 's/[^0-9:].*//' | sed 's/:/*60+/g')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多