Shell脚本中变量默认值赋值总结
2026/6/12 10:14:09 网站建设 项目流程

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询