我对此进行了审查,但仍然遇到问题,这是我要执行的命令。没有将$()
所需输出打印到控制台的命令没有问题,我似乎无法将该值放入稍后使用的变量中。
MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
但
MODEL3= /usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}'
- 将输出到控制台。非常感谢!
那是对的:
MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
但是您可以在没有以下情况下编写相同的内容grep
:
MODEL3=$(/usr/sbin/getSystemId | awk '/Product Name/{print $4}')
现在你在MODEL3
变量中有结果,你可以进一步使用它$MODEL3
:
echo "$MODEL3"
变量赋值在变量名、赋值运算符和值之间不能有空格。您当前的行说:
MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
这实际上意味着“使用空环境变量运行以下表达式,其中 MODEL3 已设置但为空。”
你想要的是一个实际的任务:
MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')