${VAR:=默认值}和${VAR:-默认值} 区别
当然可以,以下是${VAR:=默认值}
和${VAR:-默认值}
在实际使用中的例子:
例子 1:使用${VAR:=默认值}
bash复制代码
# 假设VAR变量尚未设置 | |
echo "原始VAR的值: $VAR" # 输出:原始VAR的值: (空行) | |
# 使用${VAR:=默认值} | |
echo "VAR的值(若未设置则为默认值): ${VAR:=Hello}" # 输出:VAR的值(若未设置则为默认值): Hello | |
# 注意:此时VAR的值已经被设置为"Hello" | |
echo "现在VAR的值: $VAR" # 输出:现在VAR的值: Hello |
在这个例子中,${VAR:=Hello}
不仅返回了"Hello",而且将VAR
的值设置为了"Hello"。
例子 2:使用${VAR:-默认值}
bash复制代码
# 假设VAR变量尚未设置 | |
echo "原始VAR的值: $VAR" # 输出:原始VAR的值: (空行) | |
# 使用${VAR:-默认值} | |
echo "VAR的值(若未设置则为默认值): ${VAR:-Hello}" # 输出:VAR的值(若未设置则为默认值): Hello | |
# 注意:此时VAR的值仍然是未设置的 | |
echo "现在VAR的值: $VAR" # 输出:现在VAR的值: (空行) |
在这个例子中,${VAR:-Hello}
返回了"Hello",但是VAR
的值仍然未设置。
这两个例子清晰地展示了${VAR:=默认值}
和${VAR:-默认值}
之间的区别。第一个语法不仅返回默认值,还设置变量的值;而第二个语法只返回默认值,不改变变量的值。根据你的需求,你可以选择使用哪一个。如果你想要检查变量是否设置,并且如果未设置则使用默认值,但不希望改变变量的值,那么应该使用${VAR:-默认值}
。如果你想要在变量未设置时使用默认值,并且希望这个默认值成为变量的新值,那么应该使用${VAR:=默认值}
。
时来天地皆同力,运去英雄不自由
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-03-25 广度优先