Linux 如何修复此脚本以获得正确的输出?

Linux 如何修复此脚本以获得正确的输出?,linux,bash,shell,if-statement,Linux,Bash,Shell,If Statement,我试图使用shell脚本将/etc/sysctl.conf中的实际值与推荐值进行比较。这两个值相同,但正在执行的不是if,而是else语句 shmmnireq=4096 shmmni=$grep shmmni/etc/sysctl.conf | cut-d-f3 echo$shmmnireq echo$shmmni 如果[[$shmmnireq==$shmmni]];然后 已配置echo shmmni 其他的 未配置echo shmmni fi 输出: 试试这个- #!/bin/bash shm

我试图使用shell脚本将/etc/sysctl.conf中的实际值与推荐值进行比较。这两个值相同,但正在执行的不是if,而是else语句

shmmnireq=4096 shmmni=$grep shmmni/etc/sysctl.conf | cut-d-f3 echo$shmmnireq echo$shmmni 如果[[$shmmnireq==$shmmni]];然后 已配置echo shmmni 其他的 未配置echo shmmni fi 输出:

试试这个-

#!/bin/bash
shmmnireq=4096
shmmni=$(grep "shmmni" /etc/sysctl.conf | cut -d " " -f3)    
echo $shmmnireq
echo $shmmni
if [ "$shmmnireq" -eq "$shmmni" ];then
    echo "shmmni is configured"
else
    echo "shmmni is not configured"
fi

我已经测试了下面的代码。这将有助于:

#!/bin/bash

shmmnireq=4096
shmmni=$(grep "shmmni" /etc/sysctl.conf | cut -d " " -f3)
echo $shmmnireq
echo $shmmni
if [[ ${shmmnireq}  -eq ${shmmni} ]]
then
    echo "shmmni is configured"
else
    echo "shmmni is not configured"
fi

尝试从代码中删除空行,用鼠标选择代码,单击“编辑”菜单上的“{}”工具。现在代码已正确格式化++对于shellcheck.net。祝你好运。If语句应该有一个“=”而不是“=”。数值比较“-eq”
#!/bin/bash

shmmnireq=4096
shmmni=$(grep "shmmni" /etc/sysctl.conf | cut -d " " -f3)
echo $shmmnireq
echo $shmmni
if [[ ${shmmnireq}  -eq ${shmmni} ]]
then
    echo "shmmni is configured"
else
    echo "shmmni is not configured"
fi