摘要:8.6 管道符和作业控制
8.7/8.8 shell变量
8.9 环境变量配置文件
扩展
bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719
简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html
关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command-environment-variables.html
一 管道符和作业控制
1.管道符 |
其作用是将前面命令输出的内容交给后面的命令作为输入
2.暂停任务
使用ctrl+z暂停任务,任务被丢到后台,
暂停后恢复使用命令# fg 即可,任务则被恢复到前台
3.查看后台任务
# jobs
4.恢复后台任务
如果后台任务只有一个,使用命令# fg //不加id表示恢复最后一个
如果后台任务有多个,使用命令 # fg [任务id号]
5.将任务调到后台
# bg [任务id] //将任务调到后台后,任务会继续在后台执行,前台也可以继续操作
6. 将任务调到后台并执行
# 命令 &
二 shell变量
1.查看系统变量
# env
系统的变量,其变量名是大写的英文字母
2.set命令
# set 不仅可以查看系统的变量,还可以查看到用户自定义的变量
3.自定义变量
如 # a=1 其中a就是自定义的变量
自定义的变量a使用set查看
4.变量名规则
系统变量名一般不会改
自定义变量名规则:由字母、数字、下划线组成,首位不能为数字
5.变量值
变量值有特殊符号时用单引号括起来
6.变量的叠加
例 # echo $a$b
当叠加时需要将$b用双引号括起来
7.全局变量
本地变量:仅在当前终端有效的变量
全局变量:使用# export 变量名=变量值 命令在定义变量的时候设置为全局变量,全局变量在子shell中依然有效,在父shell无效
小技巧:使用# pstree命令查看当前所处的shell位置
在子shell设置的全局变量,对父shell无效
8.取消变量
# unset 变量名
三 环境变量配置文件
/etc/下面的配置文件属于系统层面的配置文件,~/下面的配置文件属于用户层面的
profile类配置文件是需要登录才能执行的,bashrc类配置文件,用户不用登录,执行shell就生效
一般建议/etc/下的配置文件不做修改,如有需要,可以修改用户家目录下的配置文件
1. ~/.bash_profile
用户登录输入IP PORT NAME等内容时自动加载此配置文件,这个配置文件又会调用~/.bashrc文件
2.~/.bashrc
此文件是用户执行shell脚本,用户不用登录
3.~/.bash_logout
此文件用于定义用户登出时需要进行的一些操作,比如需要退出时删除命令历史,就可以将删除命令历史的命令写到这个配置文件中去
4.变量PS1
这个变量写在/etc/bashrc文件中的
上图中的PS1设置的是#号前面的部分的格式,u表示username,h表示hostname,W表示当前所在路径的最后一层
下面我们来将PS1的值做一些修改
上图中是将大写的W改为了小写的w表示显示当前所在路径的绝对路径
我们也可以将其用颜色标识使用以下命令:
PS1='\[\033[01;32m\]\u@\h[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
网友评论