我有一些bash脚本,我正在经历,我发现代码使用以下构造用于许多变量:
ID1="{ID2:?}"
. ${PATH1:?}/file1
有人可以帮助我理解?
在这方面的作用吗?
答案 0 :(得分:5)
在此上下文中,如果参数未设置或为null,则会引发错误。通常,您会在?
后面看到自定义错误消息,但如果没有,则会打印一条通用错误消息。
$ unset id2
$ id1=${id2:?}
bash: id2: parameter null or not set
$ id1=${id2:?nope}
bash: id2: nope
$ id2=9
$ id1=${id2:?}
$ echo $id1
9