目录
常用系统变量
echo $HOME
echo $PWD
echo $SHELL
echo $USER
自定义变量
声明变量
语法:
变量=值
注意命名规范:
- 由英文字母,数字和下划线 "_" 构成
- 首字母不能是数字
- 不能用bash中的关键字(help命令查看关键字)
- 赋值等号两边不能有空格(部分操作系统是可以的,但仍然不建议这么做)
- 如果有空格需要使用单引号 ' ' 或者双引号 " " 扩起来
- 在bash中默认字符是字符型,无法直接运算
- 如果是环境变量建议大写
示例如下:
A=1
echo $A
撤销变量
示例如下:
unset A
静态变量
使用 readonly 命令可以将变量定义为只读变量
注意:
- 不能unset
示例如下:
readonly B=3
全局变量
可以把变量提升为全局环境变量,供其他Shell程序使用
示例如下:
export D
test.sh 文件内容如下:
#!/bin/bash
echo $D
特殊变量
- $n :n 为数字,$0 代表改脚本名称,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号,例如 ${10}
- $# :功能描述:获取入参个数,常用于循环
- $* :代表命令行中所有参数,$* 把所有参数看成一个整体
- $@ :也代表命令行中所有参数,不过 $@ 把每个参数区分对待
- $? : 最后一次执行的命令返回状态,如果这个变量的值为0,证明上一个命令正确执行;如果返回非零(具体由程序决定),则证明上一个命令执行异常
例如:
sh para.sh
sh para.sh 1
sh para.sh 1 2
sh para.sh 1 2 3
sh para.sh 1 2 3 4
para.sh 文件内容如下:
#!/bin/bash
echo "$0 $1 $2 $3"
echo $#
echo $*
echo $@
echo $?
结果如下: