我查看了多个线程并且仍然有问题,这是我正在尝试执行的命令。没有$()
的命令可以毫无问题地将所需的输出打印到控制台,我似乎无法将该值放入稍后要使用的变量中。
MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
但
MODEL3= /usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}'
- 将输出到控制台。 非常感谢!
答案 0 :(得分: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"
答案 1 :(得分:2)
变量赋值在变量名,赋值运算符和值之间不能有空格。您当前的行说:
MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
这实际上意味着“使用空的环境变量运行以下表达式,其中MODEL3已设置但为空。”
你想要的是一个实际的任务:
MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')