bash脚本不解释命令

时间:2013-08-09 14:10:01

标签: bash unix

我正在编写一个简单的bash脚本(我对bash相当新)。我试图将命令的输出分配给变量,我似乎无法让它正常工作。见下文:

#!/bin/bash

HOST=`hostname`
MEMORY=`prtconf -v |grep Memory |awk '{print $3}'`
echo "os_instance_name "$HOST
echo "physical_machine_ram "$MEMORY

我能够正确获得hostname的结果,但我的MEMORY变量没有填充命令的输出。

2 个答案:

答案 0 :(得分:0)

试试这个:

memory=`free -m | grep Mem | awk '{print $2}'`

echo $memory

应以兆字节为单位返回物理内存

此外,您提供的代码中的$1可能是指空白列。尝试使用$2

答案 1 :(得分:0)

我想到了一些想法:

  1. 以调试模式执行脚本

    $ bash -x myscript.sh
    
  2. 将变量扩展放在双引号

    echo "os_instance_name $HOST"
    echo "physical_machine_ram $MEMORY"