什么:?运营商在bash做什么?

use*_*545 -2 bash operators

我在bash文件中有这样的表达式:

MY_NEW_VAR="path/${MY_VARIABLE:?}"
Run Code Online (Sandbox Code Playgroud)

什么:?运营商意味着

小智 7

如果$MY_VARIABLE存在且不为null,则返回其值.
如果它不存在,或者为null,则打印您能够设置的错误消息.

MY_NEW_VAR='path/${MY_VARIABLE:?"error message"}'
Run Code Online (Sandbox Code Playgroud)

如果没有给出错误消息,则返回parameter null or not set.