一、变量
本地变量:只针对本地用户,只在本地有效
设置本地变量:变量名=变量值
将本地变量转成环境变量:export 变量名=变量值(本地变量不存在时)
export 变量名(本地变量存在时)
查看指定环境变量:env |grep 变量名
export A:将本地变量转换成环境变量
set工具用来显示系统所有的系统变量(包含本地变量、环境变量)
env命令:仅显示所有系统中的环境变量
环境变量:把子shell变成父shell,但是环境变量无法在其他shell中使用。
全局变量:
/etc/profile:该文件用来定义全局变量。
source 文件或. 文件:可以让配置文件立即生效而无需重新启动操作系统。
原理:/etc/bashrc用来储存全局更改信息,所以可以通过./etc/bashrc(更新/etc/bashrc)来实现批量source 文件的效果。
一些公用变量:
PS1:bash的即时状态。也就是命令行提示符比如:[root@station17 ~]#
可以通过更改此变量来达到更改提示符的目的。
PATH:用户执行命令的时候默认的path,命令都是文件有了PATH变量我们就可以在任意位置输入命令无需指定命令所在的位置。
普通用户的命令都存放于/bin,/usr/bin,而root用户的命令存放于/bin,/usr/bin,/sbin,/usr/sbin中。这些路径都在PATH中定义。
EDITOR:定义系统默认编辑器的变量。
二、bash shell的一些特殊命令和符号
别名工具:
alias命令:用于定义一个命令的别名出来
比如:alias dir='ls -la'
这样我们就可以输入dir来达到输入ls -la的目的了。
去除特殊符号意义:
\:当需要显示特殊符号时比如需要在屏幕中显示$但是$有特殊意义,这个时候我们就需要\来去除$符号的特殊意义把它变成一个普通符号。这
个符号还有换行的功能,比如一个命令过于长,可以使用\来换行继续输入命令,因为在输入命令的时候无法通过回车换行。
'和"":单引号和双引号遇到任何字符串都不转义。
单引号和双引号的区别:
单引号是全部都不转义,而双引号不是,双引号有部分符号是要转义的:$ ` \ !
登陆shell和非登陆shell:
su - user1:启用当前user1的变量
su user1:启用上次user的变量
su -与su不一样是因为su没有读到/etc/profile和~/.bash_profile这两个文件(这两个文件只能运行在登陆shell下)。而这两个文件是用
来设置环境变量和用户命令的。
su能改变一些内容是因为su可以读到/etc/bashrc和~/.bashrc这两个文件(这两个文件可以运行全部shell下)。这两个文件时用来设置本地
变量和定义alias的。
退出bash shell脚本:只跟用户有关,可以创建自动备份和自动清除垃圾文件。存放于~/.bash_logout文件里。只在一个登陆shell退出时运行