Shell脚本语法-变量
一、注释
#表示注释
注意:在Shell脚本中没有多行注释,只有单行注释
例如:脚本代码
#!/bin/bash
# 输出了Hello world
echo "hello world!"
二、变量
2.1 变量定义
#!/bin/bash
# 输出了Hello world
#正确写法
#name="smile2018"
#错误写法
name = "smile2018"
echo "hello world!"
注意事项:1.定义变量时,变量名不需要加$符号
2.变量名和等号不能有空格,它和一般的语言不一样
3.变量名首字母必须是字母(a-z,A-Z)
4.变量名之间不允许有空格
5.不允许使用标点符号
…其他细节
name = "smile2018"运行错误

2.2 只读变量-类似于通常讲的常量
关键字:readonly

2.3 删除变量
语法:unset(将变量干掉)
示例:

2.4 变量类型
2.4.1 类型1:本地变量
作用域整个bash进程可以使用
语法: name="Dream"
2.4.2类型2:局部变量
作用域:当前代码段
语法:local name="Andy"
2.4.3类型3:环境变量
作用域:当前shell进程以及子进程
语法:export name="Dream"
2.4.4类型4:位置变量
脚本代码
name=${0}
age=${1}
sex=${2}
echo "姓名:${name} 年龄:${age} 性别:${sex}"
执行脚本
./hello.sh Jeff 150 男
执行结果:

我们发现执行有错误,赋值错位了,实际上${0}表示的是脚本文件
修改代码

2.4.5类型5 特殊变量
2.4.5.1 ${0} 文件名称
2.4.5.2 $(?) 表示返回上一个命令,执行状态返回值
0:表示执行成功
1:程序执行结果
2:表示程序状态返回码(0-255)
2.4.5.3 $# 参数个数
2.4.5.4 $* 参数列表
2.4.5.5 $@ 参数列表
2.4.5.6 ${*}和${@}的区别
${*}参数列表:会将所有参数组成一个字符串"Andy 200 男"
${@}参数列表:分开展示Andy 200 男
2.4.5.7 $$ 获取当前shell进程ID
2.4.5.8 $!执行上一个指令的PID
案例测试:

我们故意设置错误代码

127属于系统预留错误信息

Shell脚本变量详解
本文深入解析Shell脚本中的变量概念,包括变量定义、只读变量、变量删除、变量类型如本地变量、局部变量、环境变量及位置变量,并探讨特殊变量的作用与用法。

1214

被折叠的 条评论
为什么被折叠?



