管道符和作业控制,shell变量,环境变量配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了管道符和作业控制,shell变量,环境变量配置文件相关的知识,希望对你有一定的参考价值。
管道符和作业控制- |把前面命令结果交给后面的命令处理。
[[email protected] ~]# cat 1.txt |wc -l 统计行数 5 [[email protected] ~]# cat 1.txt |grep ‘aaa‘ aaaa 剪切出aaa的行
- ctrl z 暂停一个任务,这个任务只能在当前终端操作,其它终端可以查到进程
- jobs查看后台的任务
- bg [id]把任务调到后台,不加id默认最后一个
- fg [id]把任务调到前台,不加id默认最后一个
- 命令后面加&直接丢到后台,
[[email protected] ~]# sleep 200 暂停200秒 ^Z [1]+ 已停止 sleep 200 [[email protected] ~]# jobs [1]+ 已停止 sleep 200 [[email protected] ~]# fg 1 sleep 200 [[email protected] ~]# bg 1 [1]+ sleep 200 & [[email protected] ~]# jobs [1]+ 运行中 sleep 200 & [[email protected] ~]# [[email protected] ~]# sleep 100 & [1] 2213 [[email protected] ~]# jobs [1]+ 运行中 sleep 100 &
shell变量
- PATH,HOME,PWD,LOGNAME都是变量
- evn命令显示系统的环境变量
- set命令不仅可以查看系统的环境变量,还能查看用户自定义的变量,内容很多set |less查看更方便
- 自定义变量:a=111
[[email protected] ~]# a=111 [[email protected] ~]# echo $a 111 [[email protected] ~]# set |grep 111 _=111 a=111
- 变量名的规则:字母,数字,下划线,首位不能为数字
[[email protected] ~]# a1=1 [[email protected] ~]# a_1=2 [[email protected] ~]# 1a=3 -bash: 1a=3: 未找到命令
- 变量值有特殊符号时需要用单引号括起来,别用双引号,有些特殊符号不能脱意
[[email protected] ~]# a=‘a b c‘ [[email protected] ~]# a="a$bc" [[email protected] ~]# echo $a a [[email protected] ~]# a=‘a$bc‘ [[email protected] ~]# echo $a a$bc
- 变量的累加,如果一个变量引用另一个变量时,要加双引号,不能加单引号。
[[email protected] ~]# a=1 [[email protected] ~]# b=2 [[email protected] ~]# echo $a$b 12 [[email protected] ~]# c=a"$b"c [[email protected] ~]# echo $c a2c
- 全局变量export a=12 设置一个全局变量,只向下的子shell往下复制,在它的上一级shell和其它终端不生效,脚本1里面嵌套脚本2,2可以使用1里面的变量
[[email protected]02 ~]# w 09:41:58 up 57 min, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root pts/0 192.168.16.1 08:48 6.00s 0.62s 0.16s w [[email protected] ~]# echo $SSH_TTY 查看自己的登录TTY /dev/pts/0 pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观
- unset 变量名---取消变量
环境变量配置文件
- /etc/profile 用户环境变量,交互,登录才执行,这是系统级的全局变量
- /etc/bashrc 用户不用登录,执行shell就生效,平时别编辑
- ~/.bash_profile 有需要可以编辑用户自己的环境变量
- source .bash_profile 使其更改生效
- ~/.bashrc
- .bash_profile启动会调用.bashrc,.bashrc会调用系统的bashrc
- 若要配置环境变量之类,最保险是写在 .bashrc 文件中。因为不管是登陆还是不登陆,该文件总会被调用!
- ~/.bash_history用户的命令历史文件
- ~/.bash_logout让用户每次退出时需要删除命令历史可以把命令加入这个文件
- PS1=‘[[\033[01;32m]\[email protected]\h[\033[00m]:[\033[01;36m]\w[\033[00m]]\$‘ 带颜色显示 设置命令输入左侧显示信息,PS2设置进入其它终端显示如mysql命令输入效果显示
[[email protected] ~]# echo $PS1 [\[email protected]\h \W]\$ u显示登录的用户,h显示登录的机器名,W显示当前目录名,$显示用户级别普通用户显示$root用户显示# [[email protected]]$PS1=‘[\[email protected]\h \w]\$‘ [[email protected] /etc/sysctl.d]#
扩展
以上是关于管道符和作业控制,shell变量,环境变量配置文件的主要内容,如果未能解决你的问题,请参考以下文章