我正试图立即学习bash,遇到了一个脚本,但我不确定100%是否正确阅读了。
source_dir_123=${SOURCE_DIR:-/tmp}
echo source_dir_123=$source_dir_123
这是怎么回事?我想这有点变数,但对我来说似乎很奇怪。 在这里发生什么类型的分配/操作?这些作业类型有什么具体名称吗? 对不起,我想问一个新问题,但是我不明白为什么您会使用这些作业而不是像
source_dir_12="/tmp"
答案 0 :(得分:2)
/tmp
是source_dir_123
的默认值,以防未设置SOURCE_DIR
,然后将结果显示到控制台。
请参见以下示例:
> echo $SOURCE_DIR
> source_dir_123=${SOURCE_DIR:-/tmp}
> echo source_dir_123=$source_dir_123
source_dir_123=/tmp
# now let's set SOURCE_DIR
> SOURCE_DIR=/test
> source_dir_123=${SOURCE_DIR:-/tmp}
> echo source_dir_123=$source_dir_123
source_dir_123=/test