无法在linux脚本中获得正确的输出

无法在linux脚本中获得正确的输出,linux,bash,shell,ram,Linux,Bash,Shell,Ram,我想将剩余(空闲)的RAM使用率作为输出存储在变量中以供进一步处理。 相反,我得到$ac输出作为 #!/bin/bash ac = "(free | grep Mem | awk '{print $4/$2 * 100.0}')" echo "$ac" 请帮忙 total 0.00 对我来说很好 (顺便说一句,awk也可以做grep的工作: #!/bin/bash ac="$(free | grep Mem | awk '{print $4/$2 * 100.0}')"

我想将剩余(空闲)的RAM使用率作为输出存储在变量中以供进一步处理。 相反,我得到$ac输出作为

#!/bin/bash
ac = "(free | grep Mem | awk '{print $4/$2 * 100.0}')"
echo "$ac"
请帮忙

    total        0.00
对我来说很好

(顺便说一句,
awk
也可以做grep的工作:

#!/bin/bash
ac="$(free | grep Mem | awk '{print $4/$2 * 100.0}')"
echo "$ac"

)

这不可能是你真正的脚本,因为你的作业周围没有空格
ac=
。对不起,我听不懂你想说什么?@NikhileshYadav他说它应该是
ac=“$(free | grep Mem | awk'{print$4/$2*100.0}”)”
不是
ac=“(free | grep Mem awk'{print$4/$2*100.0}”
请复制上述代码,将其保存到.sh文件并执行,您将看到与我显示的相同的结果you@NikhileshYadav我没看到。独立的
free
在你的系统上向stdout和stderr输出什么?你能在屏幕截图中包括
cat-v test.sh
的输出吗?@NikhileshYadav和“它需要
ac=“$(free | grep Mem | awk'{print$4/$2*100.0}”)”
而不是
ac=“(free | grep Mem 124; awk'{print$4/$2/$100.0}”
”你不明白吗?是的,现在我明白我需要放“$”,谢谢你的帮助:)
free | awk '$1=="Mem:" { print 100*$4/$2; }'