在现有的shell脚本中,我看到一些引用的variables,包括或以负号结尾。 例如:
PID=${PID-/run/unicorn.pid}
和:
run_by_init() { ([ "${previous-}" ] && [ "${runlevel-}" ]) || [ "${runlevel-}" = S ] }
在这两种情况下,减号是什么意思?
根据bash手册页中的“Parameter Expansion”部分,这意味着“如果参数未被设置,则使用默认值”。 所以例如,
${PID-/run/unicorn.pid}
如果设置了$ PID,则等于$ PID,否则为/run/unicorn.pid。