shell变量定义需等号无空格、命名须字母或下划线开头、引用必加$符号(推荐${var})、含空格或特殊字符时须用双引号。

在 Shell 脚本中定义和使用自定义变量很简单,但有几个关键细节必须注意,否则容易报错或得不到预期结果。
变量定义的正确写法
赋值时等号两边不能有空格,否则 Shell 会把它当成命令执行:
- 正确:name="张三"、count=42、path="/home/user"
- 错误:name = "张三"(报错:command not found)
变量命名规则
变量名只能由字母、数字和下划线组成,且必须以字母或下划线开头:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 合法:user_name、_tmp、HOSTNAME
- 非法:123abc(数字开头)、my-var(含减号)、$PATH(含特殊字符)
变量引用必须加 $ 符号
定义时不加 $,使用时必须加 $,否则只是普通字符串:
- 正确:echo "你好,$name"
- 错误:echo "你好,name"(输出字面量 "name")
- 推荐用大括号包裹:echo "日志文件:${log}_2026.log",避免歧义
引号使用建议
值中含空格、制表符或通配符(如 *、?)时,必须用双引号;为养成习惯,建议统一加双引号:
- greeting="Hello World"
- files="*.txt"
- 避免:greeting=Hello World(会被拆成两个参数)










