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



我有以下脚本:

#!/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中的三元用法(?(。

您可以使用以下语句,如果语句的求值结果为True,则&&部分将运行,否则||将运行:

[ "`uname -p`" = "x86_64" ] && echo "Yes" ||  echo "No"

最新更新