Shell 这个作业是做什么的?
我查了一个朋友的密码,他说:Shell 这个作业是做什么的?,shell,environment-variables,Shell,Environment Variables,我查了一个朋友的密码,他说: dist=${dist:?Must set dist environment variable} 这条线在干什么?如何评估?是否有此类作业的相关文件 感谢使用man bash对其进行了很好的解释,或者可以在在线bash手册中找到。只需在终端提示下输入manbash,然后搜索:?,您将发现: ${参数:?word}如果为Null或未设置,则显示错误。如果 参数为null或未设置,表示word(或消息)的扩展 该效果(如果单词不存在)写入标准 错误,如果shell不是
dist=${dist:?Must set dist environment variable}
这条线在干什么?如何评估?是否有此类作业的相关文件
感谢使用
man bash
对其进行了很好的解释,或者可以在在线bash手册中找到。只需在终端提示下输入manbash
,然后搜索:?
,您将发现:
${参数:?word}如果为Null或未设置,则显示错误。如果 参数为null或未设置,表示word(或消息)的扩展 该效果(如果单词不存在)写入标准 错误,如果shell不是交互式的,则退出。否则 参数的值被替换 例子 让我们在
dist
未设置时运行该命令:
$ dist=${dist:?Must set dist environment variable}
bash: dist: Must set dist environment variable
因此,正如文档所述,dist
未设置的事实会导致显示错误消息
现在,让我们为dist
指定一个值,并运行相同的命令:
$ dist=1
$ dist=${dist:?Must set dist environment variable}
$ echo $dist
1
由于
dist
分配了一个值,因此不会显示任何错误消息,dist
的值保持不变。谢谢。。。有意义:)请注意,您也可以使用:${dist:?必须设置dist环境变量}
,而无需执行自赋值。