作业控制、shell变量、环境变量

前端之家收集整理的这篇文章主要介绍了作业控制、shell变量、环境变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一:作业控制

作业控制:
ctrl+z暂停,fg恢复进程,bg后台运行进程,jobs查看被暂停或者在后台运行的任务

二:shell变量

环境变量PATH:代替了所有常用命令的绝对路径的设定。
echo $变量名 可以显示变量的实际路径

env:列出系统预设的全部环境变量。

PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
HISTSIZE:历史记录数
LOGNAME:当前用户登录
HOSTNAME:主机的名称
SHELL:当前用户shell类型
LANG:语言相关的环境变量,多语言可以修改此环境变量
MAIL:当前用户邮件存放目录
PWD:当前目录

env显示的变量只是环境变量,系统预设的变量还有很多,用set把全部变量显示出来。

set不仅可以显示系统预设的变量,还可以显示用户自定义的变量。
自定义变量只在当前shell中生效。
自定义变量一直生效的办法:

  1. 让系统内所有用户登陆后都能使用该变量
    在/etc/profile文件末行加入”export 自定义变量“
    然后source /etc/profile就可以了
  2. 只让当前用户使用该变量
    用户主目录下的.bashrc文件末行加入“export 自定义变量”
    然后source .bashrc就可以了。

自定义变量规则:

  1. 设定变量的格式为a=b,a为变量名,b为变量内容,等号两边不能有空格
  2. 变量名只能由英,数字以及下划线组成,且不能以数字开头
  3. 变量内容带有特殊字符时,需要加单引号 myname='leewill xu'
  4. 变量内容本身带有单引号时,需要给变量内容加双引号 myname="leewill'123"
  5. 变量内容用到其他命令运行结果时,用反引号 myname=pwd
  6. 变量内容可以累加其他变量内容,需要加双引号 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表示脚本本身的名字。$#所有参数个数。

三:环境变量

系统和用户的环境变量配置文件

  1. /etc/profile:这个文件预设了几个重要变量,如PATH,USER,LOGNAME,MAIL,INPUTRC,HOSTNAME,umask等等
  2. /etc/bashrc:这个文件主要预设umask以及PS1,PS1就是命令前的那串字符。
    \u就是用户,\h主机名,\W是当前目录,\$就是#号了,普通用户显示为$.
  3. 除了两个系统配置文件外,每个用户的主目录下还有隐藏文件
    .bash_profile:定义了用户的个人化路径与环境变量的文件名称,每个用户都可以使用该文件输入专用自己使用的shell信息,当用户登陆时,该文件仅仅执行一次。
  4. .bashrc:该文件包含专用于你的shell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取。例如可以将自定义alias或者自定义变量写到该文件
  5. .bash_history:记录历史命令用的。
  6. .bash_logout:当退出shell时,会执行该文件,可以把一些清理的工作放到该文件中。

猜你在找的Bash相关文章