变量命名规则:
1、变量名称可以由字母、数字、下划线组成,但是不能以数字开头
2、在bash中变量默认是字符串型,如果要进行数值运算,必须指定变量类型为数值类型
3、变量用等号连接,等号两边不能有空格
4、变量值中如果有空格,需要使用单引号或者双引号包括
5、变量得值可以叠加
6、可以将命令得结果赋值给变量
变量的分类
用户自定义变量:名称:自定义 作用:自定义 内容:自定义
环境变量(一般大写):一般对系统起作用,不能更改变量名。 名称:确定 作用:确定 内容:自定义
位置参数变量:主要是用来向脚本当中传递参数或者数据 名称:确定 作用:确定 内容自定义
预定义变量:bash中已经定义好的变量。名称:确定 作用:确定 内容自定义
用户自定义变量
①变量定义
②变量调用
③变量查看
set [选项]
-u 如果调用未声明变量时会报错
-x 在命令执行之前会把命令先输出一次
④变量删除
环境变量(用户自定义环境变量)
1、环境变量与用户自定义变量区别,环境变量可以在子shell中生效,用户自定义变量只能在当前环境下生效
2、如果用户自定义环境变量,需要在前加入export
3、env和set命令的区别
set命令可以查看所有变量,env只能查看环境变量
4、删除系统环境变量
unset [名称]
环境变量(系统自带的环境变量)
path 变量:系统查找命令的路径
例如:将脚本所在的目录添加到PATH路径上,就可以在任意地方运行脚本。在运行脚本时,会自动搜索path中定义的路径
位置参数变量
$n n为数字,$0 代表命令本身 1-9代表1到9个参数,10以上要用${10}
$# 代表命令中所有参数的个数
$* 代表命令中的所有参数,把所有参数看成一个整体
$@ 代表命令中的所有参数,把每个参数区分对待
案例1
结果
案例2
运行:
预定义变量
$? 最后一次执行的命令的返回状态,如果这个变量的值为0,证明上一个命令执行正确,如果这个变量的值为非0,则证明上一个命令执行不正确
$$ 当前进程的进程号PID
$! 后台运行的最后一个进程的进程号
环境变量配置文件
⑴source 命令
source 配置文件 或 . 配置文件 ,可以直接生效
⑵环境变量的配置文件
①录系统时,主要生效的环境变量配置文件有以下5个
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
注意:/etc目录下的可以对所有用户生效
写在~目录下的只对当前用户生效,如写在临时用户目录下,就只对临时用户生效
②户退出时候调用
~/.bash_logout. 比如可以执行一些清除历史命令的操作
③ 其他配置文件
常见的如
~/.bash_history文件,历史命令保存文件
I hope all of us can learn to progress!