一:作业控制
作业控制:
ctrl+z暂停,fg恢复进程,bg后台运行进程,jobs查看被暂停或者在后台运行的任务
二:shell变量
环境变量PATH:代替了所有常用命令的绝对路径的设定。
echo $变量名 可以显示变量的实际路径
env:列出系统预设的全部环境变量。
PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
HISTSIZE:历史记录数
LOGNAME:当前用户的登录名
HOSTNAME:主机的名称
SHELL:当前用户shell类型
LANG:语言相关的环境变量,多语言可以修改此环境变量
MAIL:当前用户的邮件存放目录
PWD:当前目录
env显示的变量只是环境变量,系统预设的变量还有很多,用set把全部变量显示出来。
set不仅可以显示系统预设的变量,还可以显示用户自定义的变量。
自定义变量只在当前shell中生效。
让自定义变量一直生效的办法:
- 让系统内所有用户登陆后都能使用该变量
在/etc/profile文件末行加入”export 自定义变量“
然后source /etc/profile就可以了 - 只让当前用户使用该变量
在用户主目录下的.bashrc文件末行加入“export 自定义变量”
然后source .bashrc就可以了。
自定义变量规则:
- 设定变量的格式为a=b,a为变量名,b为变量内容,等号两边不能有空格
- 变量名只能由英,数字以及下划线组成,且不能以数字开头
- 变量内容带有特殊字符时,需要加单引号 myname='leewill xu'
- 变量内容本身带有单引号时,需要给变量内容加双引号 myname="leewill'123"
- 变量内容用到其他命令运行结果时,用反引号 myname=
pwd
-
变量内容可以累加其他变量内容,需要加双引号 myname=“$LOGNAME” Aming
export后不加任何变量名,则会声明所有变量。
取消变量:unset 变量名
自定义脚本变量:
数学计算:用[]括起来,外面加上$
保留小数:安装bc yum install -y bc,echo "scale=2:10/3"|bc #保留两位小数
和用户交互:read -p "please input a number:" x
脚本预设变量:$1,$2,表示执行的时候输入的第一个,第二个值。$0表示脚本本身的名字。$#所有参数个数。
三:环境变量
- /etc/profile:这个文件预设了几个重要变量,如PATH,USER,LOGNAME,MAIL,INPUTRC,HOSTNAME,umask等等
- /etc/bashrc:这个文件主要预设umask以及PS1,PS1就是命令前的那串字符。
\u就是用户,\h主机名,\W是当前目录,\$就是#号了,普通用户显示为$. - 除了两个系统配置文件外,每个用户的主目录下还有隐藏文件
.bash_profile:定义了用户的个人化路径与环境变量的文件名称,每个用户都可以使用该文件输入专用自己使用的shell信息,当用户登陆时,该文件仅仅执行一次。 - .bashrc:该文件包含专用于你的shell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取。例如可以将自定义alias或者自定义变量写到该文件。
- .bash_history:记录历史命令用的。
- .bash_logout:当退出shell时,会执行该文件,可以把一些清理的工作放到该文件中。