关于在 SH 脚本中使用环境变量的快速问题
Quick question about Environment Variables use in SH scripts
我找到了一个脚本来设置背景图像并做一些更多的事情,但这并不重要。
看这行,应该是设置路由,没什么复杂的。
#!/bin/sh
bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}bg"
我不明白它在做什么,因为环境变量和它后面的 :-
。现在,经过反复试验,我已经弄明白了。它将变量 bgloc
设置为该环境变量的值,如果未设置该变量(情况就是如此),那么它会使用 :-
之后的路由。
所以,问题是:为什么会这样?我的意思是,我已经在互联网上搜索过,但我什么也没找到。它应该像这样工作吗?在那种情况下,我在哪里可以找到相关信息?我想了解更多关于它的信息,但我在互联网上找不到任何信息。一些帮助会很棒。谢谢
bash
.
中 ${}
内的值可以做很多事情
要了解有关这些功能的更多信息,我建议阅读 TLDP manual on this topic。
我找到了一个脚本来设置背景图像并做一些更多的事情,但这并不重要。
看这行,应该是设置路由,没什么复杂的。
#!/bin/sh
bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}bg"
我不明白它在做什么,因为环境变量和它后面的 :-
。现在,经过反复试验,我已经弄明白了。它将变量 bgloc
设置为该环境变量的值,如果未设置该变量(情况就是如此),那么它会使用 :-
之后的路由。
所以,问题是:为什么会这样?我的意思是,我已经在互联网上搜索过,但我什么也没找到。它应该像这样工作吗?在那种情况下,我在哪里可以找到相关信息?我想了解更多关于它的信息,但我在互联网上找不到任何信息。一些帮助会很棒。谢谢
bash
.
${}
内的值可以做很多事情
要了解有关这些功能的更多信息,我建议阅读 TLDP manual on this topic。