Linux 如何在shell中写入if-else并将输出回显到变量

Linux 如何在shell中写入if-else并将输出回显到变量,linux,shell,if-statement,unix,Linux,Shell,If Statement,Unix,使用此命令检查reddis是否正常工作 redis cli ping如果输出为PONG,则redis正在工作 如何像这样在shell脚本中重新编写 #!/bin/bash redis_metrics=$(redis-cli ping) if [$redis_metrics == PONG] then echo "100" else echo "0" fi 需要将echo输出值分配给变量-redis_status您可以尝试以下方法: #!/bin/bash

使用此命令检查reddis是否正常工作

redis cli ping
如果输出为PONG,则redis正在工作

如何像这样在shell脚本中重新编写


#!/bin/bash
redis_metrics=$(redis-cli ping)

if [$redis_metrics == PONG]
then
        echo "100"
else
        echo "0"
fi

需要将echo输出值分配给变量-redis_status

您可以尝试以下方法:

#!/bin/bash
redis_metrics=$(redis-cli ping)

if [ $redis_metrics == PONG ]
then
        redis_status=100
        echo "100"
else
        redis_status=0
        echo "0"
fi

if[…];那么redis_status=100;回声“100”;else redis_status=0;回声“0”;fi
?另请参阅的可能副本。不过,将中间结果存储在不再使用的变量中是无用的。简单地
if[“$(redis cli ping)”=“PONG”];然后
(还要注意
[…]
!)中所需的空格。。。尽管
redis cli
编写得很好,但它也会在其状态代码中反映结果;因此,如果redis cli ping;如果我在它不工作时运行它,那么就会出现问题。任何输入。如果我在终端运行,它也会工作