如何重写以下bash命令以使其符合ShellCheck?
memory=$(cat /proc/meminfo | grep 'MemTotal:' | awk {'print $2}' 2> /dev/null)它目前正在抱怨:
发布于 2017-08-16 01:35:56
失职投诉如下
cat filename | grep 'pattern'代替grep 'pattern' filenameawk '{command}'。因此,满足would检查的版本如下所示
memory=$(grep 'MemTotal:' /proc/meminfo | awk '{print $2}')我不知道你为什么要重定向标准错误,所以我放弃了。
然而,管道grep输出到awk很少是最好的解决方案;awk几乎可以做grep所能做的任何事情,因此您可以进一步简化为
memory=$(awk '/MemTotal:/ { print $2 }' /proc/meminfo)没有管道!
发布于 2017-08-16 01:21:50
只是猜测一下,你可能想:
memory=$(grep 'MemTotal:' /proc/meminfo | awk '{print $2}' 2> /dev/null)但是,这是对外壳检查输出的直接解释,所以我不确定您在问什么。就目前情况而言,你实际上是在问:“为什么这不起作用?”
https://stackoverflow.com/questions/45703701
复制相似问题