1

我对此进行了审查,但仍然遇到问题,这是我要执行的命令。没有将$()所需输出打印到控制台的命令没有问题,我似乎无法将该值放入稍后使用的变量中。

MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')

MODEL3= /usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}'  

- 将输出到控制台。非常感谢!

4

2 回答 2

5

那是对的:

MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')

但是您可以在没有以下情况下编写相同的内容grep

MODEL3=$(/usr/sbin/getSystemId | awk '/Product Name/{print $4}')

现在你在MODEL3变量中有结果,你可以进一步使用它$MODEL3

echo "$MODEL3"
于 2012-08-02T14:57:27.683 回答
3

变量赋值中的空格不合法

变量赋值在变量名、赋值运算符和值之间不能有空格。您当前的行说:

MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')

这实际上意味着“使用空环境变量运行以下表达式,其中 MODEL3 已设置但为空。”

想要的是一个实际的任务:

MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
于 2012-08-02T15:01:04.287 回答