我想echo一个变量的值,如果变量为空或未设置,则为默认值。
我试过:

echo "${X:-{}}"

结果:
值}
如果X的值已设置或
{}
如果没有设置。
当变量被设置时,我的输出中会出现一个右括号,这是一种不受欢迎的行为。我怎样才能逃出右括号?(我试图用“\”逃跑,但没有成功…)

最佳答案

其他答案在bash(至少是正确的版本)、zshksh中有效,但至少在sh的某些版本中无效。
使用变量替换应该在任何地方都有效,我希望:

def={}
echo "${X:-$def}"

关于bash - 进行字符串插值时如何逃脱右括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31323039/

10-12 00:43