变量命名
变量分类
1.环境变量(全局)
2.普通变量(局部)
3.特殊变量
环境变量
#env //查看环境变量
echo $XXX
export XXX = XXX //设置环境变量
常见环境变量介绍
LANG=en_US.UTF-8 //language 字符集语言
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin //命令路径。输入指令,系统会从中查找
UID //记录用户的ID,一般用来判断用户是否为root
TMOUT // export TMOUT = 60 ; 超时自动断开
HISTSIZE //历史命令
HISTCONTROL //历史命令
普通变量
特殊变量
$0 :脚本名字
$n :脚本的第n个参数
$# :脚本中参数的总数
$* 或 $@ :取出脚本
$? : 上一条命令的返回值
$$ : 当前运行脚本的PID
$! : 上一个运行脚本的PID
$_ :上一个命令或者脚本的最后一个参数
定义后使用
使用变量时需在前加上$
变量赋值时,等号左右不能有空格
变量名不能有空格、标点符号、已有的关键字
案例1
#!/bin/bash
str='hello_i am wq'
echo $str
案例2
#!/bin/bash
useradd test01;
echo 'useradd test01 success'
mkdir /home/test01/123
echo 'mkdir /home/test01/123 success'
双 引号能够识别变量,单引号不能识别变量,只会原样输出
双引号能够实现转义,单引号不可。
案例3
#!/bin/bash
dt=`date +'%F %T'`
echo $dt
readonly只读变量
例:a=10,readonly a;
接收用户输入
read -p 提示信息 变量名
案例
#!/bin/bash
read -p 'pls input dir' filepath
touch $filepath
echo 'ok'
ll $filepath
删除变量
unset