将if语句压缩为bash中的一行

时间:2020-08-22 02:40:49

标签: bash shell

我有以下脚本:

#!/usr/bin/bash
arch=`uname -p`
if [[ "$arch" == "x86_64" ]]
then
    echo "Yes"
else
    echo "No"
fi

有没有办法在命令提示符$上将其编写为简短的一行,而不是将其作为脚本。像这样:

$ test uname -p == "x86_64" ? "Yes" : "No"

尽管我不确定bash中的三元用法(?)。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码,如果语句的计算结果为&&,则True部分将运行,否则,将运行||

[ "`uname -p`" = "x86_64" ] && echo "Yes" ||  echo "No"
相关问题