Linux Shell变量与运算解析_Linux脚本中变量使用示例

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

Linux Shell变量与运算解析_Linux脚本中变量使用示例-第1张图片-佛山资讯网

Linux Shell 中变量是脚本的基础,它不声明类型、不需初始化,但使用时必须注意赋值语法和引用方式。变量名区分大小写,不能以数字开头,推荐用小写字母加下划线。关键点在于:赋值时等号两侧不能有空格;引用变量必须加 $ 符号;字符串中双引号允许变量展开,单引号则原样输出。

变量定义与引用的常见写法

Shell 变量赋值非常简洁,但空格是大忌:

  • name="Alice" ✅ 正确(等号紧贴)
  • name = "Alice" ❌ 错误(会被解释为执行命令 name
  • echo $nameecho ${name} 都可取值,后者在拼接时更安全,比如 ${name}123 不会误读成变量 name123
  • 未定义变量默认为空,echo $undefined 输出空白,不会报错

数值运算的三种常用方式

Shell 默认把所有变量当字符串处理,做数学计算需显式启用算术上下文:

  • expr $a + $b —— 传统方式,操作符前后必须有空格,且只支持整数
  • $(( a + b )) —— 推荐方式,支持变量直接写、括号嵌套、位运算等,如 $(( 2**3 )) 得 8
  • let "c = a * 2 + 1" —— 类 C 语法,适合多步赋值,但注意引号内空格不影响解析

注意:$(()) 中变量名可省略 $,但外部变量仍需带 $ 引用,例如 a=5; echo $((a+3))

标签: linux 环境变量 区别 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~