news 2026/2/18 2:00:52

Shell脚本中变量默认值赋值总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Shell脚本中变量默认值赋值总结

1.基本默认值语法

1.1 使用${var:-default}- 临时默认值

# 如果变量未设置或为空,使用默认值(不修改变量) username="${USERNAME:-guest}" echo "Hello, ${USERNAME:-guest}" # 变量本身值不变 echo "USERNAME is: $USERNAME" # 可能仍为空 # 实际应用 port="${PORT:-8080}" log_level="${LOG_LEVEL:-info}" timeout="${TIMEOUT:-30}"

1.2 使用${var:=default}- 永久默认值

# 如果变量未设置或为空,设置并使用默认值 : ${DATABASE_HOST:=localhost} # 冒号(:)是空命令 echo "Connecting to $DATABASE_HOST" # 简洁写法 : ${API_URL:="https://api.example.com"} : ${MAX_RETRIES:=3}

2.条件判断式默认值

2.1 未设置 vs 空值的区别

# 带冒号(:): 检查未设置或为空 echo "${var1:-default}" # var1未设置或为空时返回"default" # 不带冒号: 仅检查未设置 unset var2 var3="" echo "${var2-default}" # 返回"default" (未设置) echo "${var3-default}" # 返回"" (已设置为空)

2.2 完整语法对照表

语法变量未设置变量为空变量非空是否修改变量
${var-value}返回value返回$var返回$var
${var:-value}返回value返回value返回$var
${var=value}设置value返回$var返回$var是(仅未设置时)
${var:=value}设置value设置value返回$var是(未设置或空时)
${var?error}输出错误返回$var返回$var
${var:?error}输出错误输出错误返回$var
${var+value}返回空返回value返回value
${var:+value}返回空返回空返回value
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/14 0:23:15

现在报考华为认证是否适宜?建议您先研读岗位需求。

嘿,华为认证在咱们这行那可是挺有名的厂商认证,不知道吸引了多少搞IT的朋友和专业人士的注意呢。 好多人心里肯定都犯嘀咕,为啥要考华为认证啊? 这问题估计不少喜欢华为认证的朋友都琢磨过。 大家对这个认证也是说法不一&#xff…

作者头像 李华
网站建设 2026/2/12 9:30:41

集团专线宽带是什么意思?企业如何选择合适的传输方案?

在当今这个信息爆炸的时代,企业对于网络的需求日益增长。而提到“集团专线”,不少企业管理者或许会感到困惑:这到底是个什么概念?简单来说,集团宽带是指为满足大型企业或集团内部多个办公地点之间高效互联需求而设计的一种宽带服…

作者头像 李华
网站建设 2026/2/10 11:16:59

钢铁厂里的“AI发烧友”

老牌钢铁龙头柳钢集团,如何通过钉钉实现技术降维与全员共创,让AI从一线发烧友,生长为覆盖全员的生产力工具。 文|周享玥 游勇 编|赵艳秋 广西柳钢集团冷轧厂管理层的“数字驾驶舱”内,生产数据实时跳动&…

作者头像 李华
网站建设 2026/2/17 6:21:09

为什么Qwen3-14B成为中小企业私有化AI首选?

为什么Qwen3-14B成为中小企业私有化AI首选? 在当前企业数字化转型的浪潮中,越来越多的中小企业开始尝试引入大语言模型(LLM)来提升运营效率。然而,现实却并不总是理想:公有云API虽易用,但数据出…

作者头像 李华