名称可以用数字、字母、下划线,不能以数字开头,等号两边不能有空格,不能使用特殊符号
# 定义变量 或者 赋值 a=10 #取消变量的定义 unset a #调用变量时用$加变量名 echo $a #容易与后面内容发生混淆时用大括号 echo ${a}RMB
由系统提前定义好,使用时直接调用
USER 当前用户名
HOME 当前用户的家目录
SHELL 当前用户的解释器
UID 当前用户的id号
HOSTNAME 主机名
PWD 当前位置
PATH 存储命令的路径
$1 执行脚本时后面跟的第1个位置参数
$2 执行脚本时后面跟的第2个位置参数
$3 执行脚本时后面跟的第3个位置参数
$* 执行脚本时后面跟的所有位置参数
$# 执行脚本时后面跟的位置参数的个数
$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)
$? 判断上一条指令是否执行成功,0代表成功,非0代表失败
如何查看?
#查看所有环境变量 env #配合grep搜索 env | grep HOSTNAME #查看所有变量 set #自定义变量 abcd=8888 #查找 set | grep abcd
作用:将某些对象变成字符串输出
a.当字符串当中存在空格的时候,必须使用双引号,如果没有空格可以不用
str=hello str="hello world"
b.当双引号中要对变量进行引用
echo "$str world"
c.在双引号当中调用shell命令,当shell命令需要识别的时候,使用反引号包裹命令
echo "`ls -l`"
作用:把包裹的内容当成字符串使用
请注意以下两条命令执行结果的区别
作用:将双引号中的命令识别,然后执行命令对应的内容
> 重定向到某一个文件,完成覆盖
>> 重定向到某一个文件,完成追加