为什么我不能将grep返回的值赋给变量?

时间:2015-05-14 17:21:20

标签: linux bash grep

我试过了:

TOTAL_MEM= $(grep MemTotal /proc/meminfo | awk '{print $2}')
TOTAL_MEM= 'grep MemTotal /proc/meminfo | awk '{print $2}''
TOTAL_MEM= grep MemTotal /proc/meminfo | awk '{print $2}'

每次我打电话:

echo "Total memory available: " $TOTAL_MEM

它只是空白..我错过了什么?

1 个答案:

答案 0 :(得分:2)

致Anubhava首先发布此信息,但这是一个很好的方法:

TOTAL_MEM=$(awk '/MemTotal/ {print $2}' /proc/meminfo)

由于=

之后有空格,因此不起作用
TOTAL_MEM= $(grep MemTotal /proc/meminfo | awk '{print $2}')

由于=之后有空格而引用错误,因此不起作用。使用括号或背景。 (最好用括号)

TOTAL_MEM= 'grep MemTotal /proc/meminfo | awk '{print $2}''

由于=之后有空格且缺少引号,因此不起作用。

TOTAL_MEM= grep MemTotal /proc/meminfo | awk '{print $2}'