Linux Shell变量不声明类型、无需初始化,但赋值时等号两侧不可有空格,引用需加$符号,双引号支持变量展开而单引号不展开;数值运算需用$((...))等显式算术上下文;字符串操作支持长度${#str}、截取${str:0:3};普通变量仅当前进程有效,export后成为子进程可见的环境变量。

Linux Shell 中变量是脚本的基础,它不声明类型、不需初始化,但使用时必须注意赋值语法和引用方式。变量名区分大小写,不能以数字开头,推荐用小写字母加下划线。关键点在于:赋值时等号两侧不能有空格;引用变量必须加 $ 符号;字符串中双引号允许变量展开,单引号则原样输出。
Shell 变量赋值非常简洁,但空格是大忌:
name="Alice" ✅ 正确(等号紧贴)name = "Alice" ❌ 错误(会被解释为执行命令 name)echo $name 或 echo ${name} 都可取值,后者在拼接时更安全,比如 ${name}123 不会误读成变量 name123
echo $undefined 输出空白,不会报错Shell 默认把所有变量当字符串处理,做数学计算需显式启用算术上下文:
expr $a + $b —— 传统方式,操作符前后必须有空格,且只支持整数$(( a + b )) —— 推荐方式,支持变量直接写、括号嵌套、位运算等,如 $(( 2**3 )) 得 8let "c = a * 2 + 1" —— 类 C 语法,适合多步赋值,但注意引号内空格不影响解析注意:$(()) 中变量名可省略 $,但外部变量仍需带 $ 引用,例如 a=5; echo $((a+3))。
变量常用于路径拼接、条件检查或截取子串:
path="/home"; user="alice"; full="$path/$user"
${#str} 返回字符串字符数,如 str="hello"; echo ${#str} 输出 5${str:0:3} 表示从第 0 位起取 3 个字符(类似切片)[ -z "$var" ] 为空返回真,[ -n "$var" ] 非空返回真,记得加双引号防空格出错普通变量只在当前 Shell 进程有效;用 export 声明后才成为环境变量,子进程可见:
MY_VAR="test" → 当前脚本可用,bash -c 'echo $MY_VAR' 输出空export MY_VAR="test" → 子 Shell 也能读到unset MY_VAR 可删除变量,包括已 export 的$HOME、$PATH 全局可用,修改 PATH 要小心追加:export PATH="$PATH:/my/bin"
基本上就这些。变量看着简单,但空格、引号、$符号、作用域这四点最容易出错。写脚本时多打 echo 调试,比猜快得多。
以上就是Linux Shell变量与运算解析_Linux脚本中变量使用示例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号