news 2026/4/28 23:47:15

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/4/23 15:20:10

制造工艺中的通孔可控性实现路径

作为PCB技术运营专家,我常对团队强调:“通孔可控性不是检测出来的,而是制造出来的。”本期我们将深入钻孔精度、镀铜均匀性、缺陷防控三大核心环节,拆解如何通过工艺控制实现通孔的可控性目标。​一、钻孔工艺:精度决定…

作者头像 李华
网站建设 2026/4/26 14:54:13

YashanDB数据库的技术路线图与愿景展望.

YashanDB是一种新的数据库系统,虽然关于它的具体信息可能不多,但从数据库技术发展的趋势和行业需求来看,我们可以推测出一些可能的技术路线图与愿景展望。技术路线图1. 性能优化- 分布式架构:通过分布式数据库架构提升性能&#x…

作者头像 李华
网站建设 2026/4/17 22:20:51

统信桌面专业版【添加字体】方法介绍

功能概述文档写作时缺少某些字体的情况下需要安装指定的字体。操作方法步骤一:准备字体准备需要添加的字体文件(UOS支持.ttf/.ttc/.otf格式的字体)步骤二:把字体拷贝到UOS电脑上步骤三:打开字体管理器在UOS启动器中搜索…

作者头像 李华
网站建设 2026/4/22 14:52:00

统信UOS系统安装字体

在字体管理器界面,单击左上角的添加按钮> 添加字体,或右键单击字体选择 添加字体,选择需要安装的字体文件。右键单击字体文件并选择 打开方式 > 字体管理器,进入字体管理器界面,安装字体。字体管理器可以安装单个…

作者头像 李华
网站建设 2026/4/21 11:50:02

Fail2Ban核心架构学习

Fail2Ban 的核心价值就在于精细化配置,包含原理拆解、文件结构、自定义规则、多服务防护、排错的超详细指南,全程适配 Ubuntu 系统。 一、Fail2Ban 核心架构(先懂原理再配) Fail2Ban 由 3 个核心组件协同工作,理解这个…

作者头像 李华