如果未设置,则在Bash中将默认值分配给变量

时间:2016-10-11 22:53:51

标签: bash

我知道我能做到:

echo ${var:-4}

如果4为空,则打印var

但是在这种情况下如何分配-n ..?

echo ${var:--n}不起作用。

虽然这确实有用..

echo ${var:---n}

但在这种情况下,它打印出--n,我需要它来打印-n

1 个答案:

答案 0 :(得分:8)

问题不在默认情况下,但在echo中:-n具有特殊含义(检查help echo)。请改用printf

printf '%s\n' "${var:--n}"