8.6 管道符和做业控制html
8.7/8.8 shell变量linux
8.9 环境变量配置文件shell
扩展bash
bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719操作系统
简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html.net
关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command-environment-variables.htmlserver
1、管道符和做业控制htm
示例:把ls的输出结果传给wc进行统计对象
做业控制:ctrl + z 能够暂停一个任务。blog
好比说正在vi编辑一个文件,能够ctrl + z暂停vi编辑,这时能够在控制台继续使用其它操做:
若是想继续进行vi编辑可使用fg命令从新调用回来继续执行:
有多个任务在暂停中,可使用jobs命令查看:
多个暂停的任务时,指定任务恢复:
fg id号 以下图先是jobs查看暂停的任务id,而后使用fg id号进行恢复,若是不指定id号那就是恢复最后一次运行的。
若是想把暂停任务放到后台继续运行:
以下图sleep 300 任务是暂停状态,咱们使用bg 命令把它丢到后台继续运行,再查看它的状态已经变为运行中
在命令后面加入&也可使命令直接在后台执行:
2、shell变量
环境变量是在操做系统中一个具备特定名字的对象,它来代替某些程序或数据。
env命令:列出系统预设的所有系统变量
set命令:set不只能够显示系统预设的环境变量,还能够显示用户自定义的变量。
变量查看:echo $变量名
1.自定义变量规则:
a=b,a为变量名,b为值,等号两边不能有空格。
变量名只能由字母,数字以及下划线组成,并且不能以数字开头。
当变量值带有特殊字符时,须要加上单引号。
变量内容自己就带有单引号,这个时候须要加上双引号。
示例:
当变量值有特殊符号时须要使用单引号(''):
变量的累加:
2.全局变量
打开两个终端,在其中一个终端中设置一个环境变量,在另一个终端中是查看不到的。 echo $SHH_TTY:能够经过此命令查看当前在哪一个终端下
终端1:
终端2:
若是再当前shell中运行bash命令,则会进入一个新的shell中,这个shell是原来shell的子shell
咱们能够用pstree来查看当前所在的位置(若是没安装则先安装:yum install -y psmisc)
以上这种状况是本地环境变量,只在当前终端下生效,若是想要变为全局变量则须要使用:exprot命令
示例:
在另一个终端中查看:
再从新打开一个终端:
发现变量又没了,这是由于全局变量值能向下生效,只能在子shell中生效。
取消环境变量:unset 变量名
3、环境变量配置文件
系统环境变量配置文件分两个维度:系统层次和用户层次
/etc/profile 用户登陆的时候会加载到
/etc/bashrc 用户或系统执行shell脚本时候,会用调用这个文件里的一些配置
通常不要编辑,若是须要全部用户使用的全局变量则修改/etc/profile
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout 用户退出时作的一些操做,如:想退出时删除历史命令,把删除命令放入这个文件中便可。
source 配置文件
或者 . 配置文件
PS1是来定义系统提示符的系统变量,通常系统默认的形式是:[username@host 工做目录]$.
root用户显示的是:
普通用户是:
root是以#结尾,普通用户是$结尾。
能够同echo $PS1来进行查看:
也能够进行修改
示例:修改显示绝对路径
修改显示颜色:
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'
查看PS2模式: