我想echo
一个变量的值,如果变量为空或未设置,则为默认值。
我试过:
echo "${X:-{}}"
结果:
值}
如果X的值已设置或
{}
如果没有设置。
当变量被设置时,我的输出中会出现一个右括号,这是一种不受欢迎的行为。我怎样才能逃出右括号?(我试图用“\”逃跑,但没有成功…)
最佳答案
其他答案在bash
(至少是正确的版本)、zsh
和ksh
中有效,但至少在sh
的某些版本中无效。
使用变量替换应该在任何地方都有效,我希望:
def={}
echo "${X:-$def}"
关于bash - 进行字符串插值时如何逃脱右括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31323039/