8.6 管道符和作业控制

管道符是把前一个命令输出作为下一个命令的输入的一个符号

#history |grep yum

五周第四次课(4月23日)


作业控制

CTRL+z:暂停当前的程序

fg:恢复最近暂停的命令

jobs:查看任务列表

bg:把一个程序在后台运行

 五周第四次课(4月23日)

注意:此时CTRL+c结束不了这个后台命令的,虽然该命令是有输出的,但是不影响输入新的命令,可以先把它恢复到前台运行,再按CTRL+z就可以暂停了

五周第四次课(4月23日)


另外可以直接把一个命令丢到后台执行,在命令后加一个&符号

#sleep 1000 &

五周第四次课(4月23日)


注意:在新打开的终端是看不到另一个终端的的jobs的,不过可以查看进程

五周第四次课(4月23日)



8.7/8.8 shell变量

我们常见的变量有:PAHT , HOME ,PWD ,LOGNAMEe

env命令来查看系统环境变量

#env

五周第四次课(4月23日)


set命令可以查看系统变量和用户自定义的变量(shell脚本)

#set

五周第四次课(4月23日)


一般不会改动系统变量,但我们可以自定义一些用户变量

变量名规则:字母数字下划线,首位不能为数字

比如a1, _1a,

五周第四次课(4月23日)


变量里有特殊符号的要用‘’扩起来

五周第四次课(4月23日)

“”括起来可能会被系统识别,而不作为字符串

五周第四次课(4月23日)

五周第四次课(4月23日)

“”可以用在多个变量累加的时候

全局变量

查看用户登录情况

#w

五周第四次课(4月23日)

目前两个用户登陆分配了两个TTY

查看当前用户在哪个TTY下

#echo $SSH_TTY

五周第四次课(4月23日)


新打开一个bash

五周第四次课(4月23日)

查看所在位置

#pstree

五周第四次课(4月23日)

没用安装,先找下命令所在的包

# yum provides pstree

五周第四次课(4月23日)

yum安装

# yum install psmisc-22.20-15.el7.x86_64

#pstree

五周第四次课(4月23日)


退出当前bash

#exit

五周第四次课(4月23日)


上面的例子可以看到,自定义的变量只在当bash下端生效,所以又叫本地变量或者非全局变量

那怎么变为全局变量呢,这就需要用命令: export

#export xm=linux

五周第四次课(4月23日)

注意:全局变量在当前终端生效,但在新打开的终端中是不生效的

五周第四次课(4月23日)

另外设置在子basn中的全局变量在父bash中也是不生效的

五周第四次课(4月23日)

也就是说全局变量是向后生效的,在当前bash,子bash,孙bash....生效

取消设置的变量unset

#unset xm

五周第四次课(4月23日)


8.9 环境变量配置文件

系统层次:/etc/profile   用户环境变量,交互,登录才执行

                 /etc/bashrc   用户不用登录,执行shell就生效


用户层次:~/.bashrc

               ~/.bash_profile

              ~/.bash_history

              ~/.bash_logout  定义用户退出时需要进行的操作

PS1是在/etc/bashrc下定义的

#vim  /etc/bashrc

五周第四次课(4月23日)

 PS1="[\[email protected]\h:\l \W]\\$ "  

          五周第四次课(4月23日)

PS2是用在另外一种环境中的

五周第四次课(4月23日)


相关文章: