为什么我的bash-if语句一直返回true

  • 本文关键字:返回 true 语句 bash-if bash
  • 更新时间 :
  • 英文 :


bash的if语句一直返回true,我不知道它出了什么问题。下面是我的脚本。尽管运行modprobe命令;install/bin/true";在我的终端中,它总是返回true,这与";不符合";而不是";符合";当我运行我的脚本时,这应该是预期的结果。

#!/bin/bash
if [[ "$(modprobe -n -v cramfs 2> /dev/null | tail -1)" != "install /bin/true" ]];
then
echo "Not Compliant";
else
echo "Compliant";
fi
modprobe命令的输出包含一个尾随空格。

尝试:

if ! [[ "$(modprobe -n -v cramfs 2> /dev/null | tail -1)" =~ 'install /bin/true' ]];

或:

if ! modprobe -n -v cramfs 2> /dev/null | tail -1 | grep -q 'install /bin/true' 

或者(我认为这就是你想要完成的全部(:

if ! modprobe -q cramfs; then ...

相关内容

  • 没有找到相关文章

最新更新