我正在编写一个简单的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
变量没有填充命令的输出。
答案 0 :(得分:0)
试试这个:
memory=`free -m | grep Mem | awk '{print $2}'`
echo $memory
应以兆字节为单位返回物理内存
此外,您提供的代码中的$1
可能是指空白列。尝试使用$2
。
答案 1 :(得分:0)
我想到了一些想法:
以调试模式执行脚本
$ bash -x myscript.sh
将变量扩展放在双引号
中echo "os_instance_name $HOST"
echo "physical_machine_ram $MEMORY"