可能重复:
Bash 中的三元运算符 (?:)
如果这是 AS3 或 Java,我会执行以下操作:
fileName = dirName + "/" + (useDefault ? defaultName : customName) + ".txt";
但在 shell 中,这似乎是不必要的复杂,需要几行代码,以及相当多的重复代码。
if [ $useDefault ]; then
fileName="$dirName/$defaultName.txt"
else
fileName="$dirName/$customName.txt"
fi
您可以将所有内容压缩成一行,但这会极大地牺牲清晰度。
有没有更好的方法if
在 shell 中编写带有变量赋值的内联?