当前位置: 首页 > news >正文

Shell Daily 2025-12-22: 变量安全检查 (Set Nounset)

Shell Daily 2025-12-22: 变量安全检查 (Set Nounset)

Shell 脚本最可怕的噩梦是什么?大概就是那句传说中的 rm -rf "$APP_DIR/"。如果因为逻辑错误,$APP_DIR 变量恰好是空的,这行命令就会变成 rm -rf /,瞬间摧毁整个系统。

为了避免这种“变量未定义”导致的灾难,我们需要开启 Shell 的严格模式之一:nounset

怎么用

在脚本顶部加入:
set -uset -o nounset

开启后,一旦脚本尝试使用一个未定义的变量,Shell 不会像默认那样把它替换为空字符串,而是直接报错并终止运行

  • 兼容性POSIX 通用标准。Bash, Zsh, Dash 等均支持。

适用场景

所有的生产环境脚本。特别涉及文件删除、数据库操作或路径拼接时,它能充当“编译器”,帮你提前揪出拼写错误和逻辑漏洞。

示例 1:揪出隐蔽的拼写错误

在长脚本中,变量名手滑写错是常事。默认情况下,Shell 会静默执行,导致结果怪异。

#!/bin/bash
set -uTARGET_DIR="/var/www/html"# 手滑把 TARGET 拼成了 TAGRET
# 如果不加 set -u,这里会静默创建 /backup 目录,导致逻辑错误
# 加了 set -u,脚本会报错:TARGET_DIR: unbound variable
cp -r "$TAGRET_DIR" /backup/

示例 2:防止根目录被删

这是 set -u 的高光时刻。

#!/bin/bash
set -u# 假设由于上游逻辑错误,CLEAN_PATH 没被赋值
# CLEAN_PATH="/tmp/cache" echo "Cleaning up..."
# 触发报错,脚本立即停止,保护了系统
rm -rf "$CLEAN_PATH/"*

(注:如果你开启了 set -u,但某些变量确实可能是空的(可选参数),请配合我们之前讲过的 ${VAR:-default} 语法使用,例如 ${OPTIONAL_VAR:-},这样就不会报错了。)

http://www.zskr.cn/news/135637.html

相关文章:

  • 告别 Notepad++!网络工程师必备的 6 款配置文件编辑神器
  • 【Open-AutoGLM数字孪生联动控制】:揭秘工业4.0时代智能控制核心引擎
  • 【研知有术论文发表】2025被降区但巨好投的毕业神刊!环境科学期刊推荐,非常好发
  • 2025大模型开发必学:4大AI Agent协作框架全解析,从单智能体到团队协作的进化指南
  • 2026 小程序开发公司排名:十大优质平台,精准匹配不同企业需求 - 资讯焦点
  • 2025年不容错过:武昌高分口石定制厂家联系电话榜单,江夏分口石聚焦技术实力与行业适配性 - 品牌推荐师
  • 2025年氯化钙阻化剂制造企业权威推荐榜单:卤盐类阻化剂/煤矿阻化剂/高分子阻化剂生产厂家精选 - 品牌推荐官
  • 【限时公开】Open-AutoGLM请假系统权限配置与流程启动完全教程
  • WiseAgent智能体框架实战之CrewAI篇(二) | 从零开始构建基础导诊智能体
  • 基于SpringBoot的课堂考勤系统
  • 2025年活塞式高压压缩机源头厂家权威推荐榜单:高压多级压缩机/压缩机工业用高压压缩机/高压微型空压机源头厂家精选 - 品牌推荐官
  • 2025年宁波口碑好的地磅厂家推荐:本地靠谱地磅生产厂排行榜 - myqiye
  • 如何在Open-AutoGLM中安全跳过步骤?,资深架构师的4条黄金法则
  • Open-AutoGLM如何重塑智能座舱体验:3大关键技术解析与落地场景
  • 2025年北京靠谱的写字楼宽带服务专业公司推荐:信誉好的写字楼宽带服务机构排名 - 工业推荐榜
  • Geotransform代码解读
  • AbMole | ChemBridge化合物片段库 让新药研发插上高飞的翅膀
  • 【Open-AutoGLM自主进化机制揭秘】:解锁AI模型自我学习的底层逻辑与实战应用
  • 2025年靠谱的美术培训机构推荐榜单:北京专业美术培训学校实力测评 - mypinpai
  • 从0到1部署Open-AutoGLM挂号助手:工程师必须掌握的4个关键步骤
  • 搞过电动车项目的老铁都知道,动力系统匹配这事就像给车找对象——得门当户对。今天给大家扒一扒我们项目里用的两个硬核模型,保你看完直呼“原来参数匹配还能这么玩
  • Open-AutoGLM挂号黑科技曝光,患者等待时间缩短85%的秘密武器
  • 去屑止痒洗发水2025推荐,五款人气产品核心成分全解析 - 速递信息
  • Vue.js+springboot新农村旅游住宿风貌展示平台_xz1yfu89
  • 2025年地磅精准定制厂家推荐,地磅靠谱供应商与专业地磅企业全解析 - 工业推荐榜
  • 2025年浙江靠谱特氟龙喷涂服务商排行榜,看哪家实力强? - 工业推荐榜
  • 2026卫生初中级职称考试哪个辅导班好?上岸考生力荐阿虎医考 - 资讯焦点
  • 2025年天津靠谱律师事务所推荐:天津合华律所市场口碑如何? - myqiye
  • 为什么你的AI对话总断连?Open-AutoGLM超时参数必须这样调!
  • 2025浙江铁氟龙喷涂加工厂推荐:案例多、技术稳的5家企业全解析 - myqiye