${VAR:=默认值}和${VAR:-默认值} 区别

当然可以,以下是${VAR:=默认值}${VAR:-默认值}在实际使用中的例子:

例子 1:使用${VAR:=默认值}

bash复制代码
  #!/bin/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复制代码
  #!/bin/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:=默认值}

 
posted @   滴滴滴  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2020-03-25 广度优先
例子 1:使用${VAR:=默认值}例子 2:使用${VAR:-默认值}
点击右上角即可分享
微信分享提示