news 2026/6/15 0:29:32

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/6/15 12:54:30

记录一下解决移动宽带没有公网 IPv4 的折腾过程

背景: 搬家换了移动宽带,光猫改了桥接,路由器拨号。发现死活拿不到公网 IPv4,只有 IPv6。 原本家里的黑群晖是靠 DDNS 访问的,现在外网连不上了。尝试方案:IPv6 直连:手机在外面用 5G 网络能连上…

作者头像 李华
网站建设 2026/6/15 12:54:43

YashanDB数据库的可移植性与平台兼容性探讨

YashanDB是一种新兴的数据库技术,其可移植性和平台兼容性是其设计和实现中的重要考虑因素。以下是对YashanDB数据库可移植性与平台兼容性的探讨:1. 可移植性可移植性指的是数据库能够在不同环境中运行的能力,包括不同的操作系统、硬件架构和云…

作者头像 李华
网站建设 2026/6/15 13:45:59

RocketMQ 详细攻略

RocketMQ 是阿里巴巴开源的分布式消息中间件,基于 Java 开发,具备高吞吐、低延迟、高可用、可扩展等特性,广泛应用于电商、金融、物流等领域的异步通信、流量削峰、数据同步等场景。本文从基础认知、环境搭建、核心概念、核心功能、高级特性、…

作者头像 李华
网站建设 2026/6/15 13:46:01

25.12.15

目录 上午 rip IP宣告过程 命令 MAC地址绑定 vlan 配置 实验一、rip配置 实验二、交换机mac地址绑定 实验三、单臂路由器 vlan配置命令 配置路由器子端口。命令如下 下午 STP协议 上午 dis ip routing protocol rip rip IP宣告过程 命令 实验一 路由器rip模式 n…

作者头像 李华
网站建设 2026/6/15 12:44:57

从零搭建 Dify AI 平台:一次跌宕起伏的部署之旅

欢迎来到我的博客,代码的世界里,每一行都是一个故事🎏:你只管努力,剩下的交给时间 🏠 :小破站 从零搭建 Dify AI 平台:一次跌宕起伏的部署之旅前言服务器环境Dify 架构解析各容器的职…

作者头像 李华