变量的3种类型
1.本地变量 2.环境变量 3.特殊变量
set命令可以查看所用的本地变量和环境变量
本地变量
本地变量——用户自定义的变量
特点是在当前shell环境,当前进程内有效的变量
定义本地变量,在Bash shell环境下,定义本地变量的格式如下
变量名=变量值(若等号两边有空格,则必须使用引号括起来,单双引号,都可)
注意:=两边不能直接接空格
可以同时多个变量赋值 用空格分开 赋值顺序从左到右
只读变量,赋值后变不再改变它的值
读取来自键盘输入的变量
read [-pt] 变量名
-p 后面给出提示信息 -t 后面给出等待的秒数
echo $变量名或者 echo ${变量名}显示本地变量
unset释放本地变量
环境变量
其也被称为系统变量,可以用于所有用户进程
常见环境变量 1.PATH:指定命令的搜索路径 2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) 3.HISTSIZE:指保存历史命令记录的条数。 4.LOGNAME:指当前用户的登录名。 5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。 6.SHELL:指当前用户用的是哪种Shell。 7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 8.MAIL:指当前用户的邮件存放目录。 9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。 10.PS2:附属提示符,默认是“>”。
临时更改PATH,只对本次登陆有效
PATH=$PATH:<路径名1>:<路径名2>......
永久有效需要更改.bashrc
export 可以将本地变量设置为环境变量
特殊变量
某些变量在一开始执行脚本时就被设定且不再改变,就是特殊变量