变量就是使用一个比较简单的字符串来代替某些具有特殊意义的设定以及数据。
环境变量PATH,它是shell预设的一个变量,通常shell预设的变量都是大写的。
PATH、HOME、PWD、LOGNAME、HOSTNAME
[root@localhost ~]# env #系统环境变量,列出系统预设的全部系统变量
[root@localhost ~]# set #系统变量和自定义变量
[root@localhost ~]# a=111
[root@localhost ~]# set |grep 111 # a=111
[root@localhost ~]# echo $PATH # /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# echo $HOME # /root
[root@localhost ~]# echo $HISTSIZE # 5000
[root@localhost ~]# name=l em #不能有空格,否则使用单引号
-bash: em: 未找到命令
[root@localhost ~]# name='l $em'
[root@localhost ~]# echo $name #特殊符号显示用单引号
l $em
[root@localhost ~]# name="l'em" #变量内容本身就带有单引号,这个时候需要加上双引号
[root@localhost ~]# echo $name
l'em
[root@localhost ~]# name=`pwd` #变量内容中需要用到其他命令,运行结果则可以使用反引号;
[root@localhost ~]# echo $name
/root
[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# c=3
[root@localhost ~]# d="$a$b$c" #变量内容可以累加其他变量的内容,但需要加上双引号
[root@localhost ~]# echo $d
123
[root@localhost ~]# echo $SSH_TTY #查看当前在哪个终端下:
/dev/pts/0
[root@localhost ~]# bash #如果再当前shell中运行bash命令,则会进入一个新的shell中,这个shell是原来shell的子shell
[root@localhost ~]# yum install -y psmisc #我们可以用pstree来查看: 需要先安装这个包
[root@localhost ~]# pstree
systemd─┬─...
├─sshd─┬─sshd───bash───pstree
│ └─sshd───2*[sftp-server]
[root@localhost ~]# export a=11 #设置向下全局变量,不会让父shell和其他终端shell生效,非全局变量只能在本地local的bash使用。
[root@localhost ~]# exit 退出当前BASH
[root@localhost ~]# unset a #取消变量
HOSTNAME:表示主机的名称;
SHELL:表示当前用户的shell类型;
HISTSIZE:表示历史记录数;
MAIL:表示当前用户的邮件存放目录;
PATH:改变量决定了shell将到那些目录中寻找命令或者程序;
PWD:表示当前目录;
LANG:这是与语言相关的环境变量,多语言环境可以修改此环境变量;
HOME:表示当前用户的家目录;
LOGNAME:表示当前用户的登录名;
自定义变量规则:
设定变量的格式为a=b,其中a为变量名,b为变量的内容,等号两边不能有空格;
变量名只能由字母,数字以及下划线组成,而且不能以数字开头。
当变量值带有特殊字符(如空格)时,需要加上单引号。