8.6 管道符和作业控制
8.7/8.8 shell变量
8.9 环境变量配置文件


五周第四次课(4月23日)笔记
管道符是把前面命令的输出结果交给后面命令,如下图所示

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

ctrl+z 暂停当前操作,暂时性退出做其他操作(放到后台)

fg 重新调到前台(当有多个命令存在时,在后面加上相应的数字,如果不输入数字,则默认为最后一条命令), jobs查看当前运行情况,bg放到后台并运行(同理fg)

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

如果是动态命令如vimstat 1 (动态显示系统状态文件,即使被调到后台还是会滚动输出信息,不同于前台的是:可以正常输出  执行命令)

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

bg 对应的放到后台,fg 放到前台 ctrl + C 再输入jobs,归零

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

sleep 100& 通过&符号直接把命令放到后台运行

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

ps aux | grep sleep  可查看进程,但无法在另一个终端中看到之前终端的任务

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

Shell变量

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

env查看系统环境变量,set查看系统和自定义环境变量等

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

自定义变量可以set查看  set | grep xxx; set | less

在自定义变量中,如果想要输出某特殊符号时,需要加单引号'',如果加的是双引号“”, 系统可能会识别成标记符导致输出变量和输入不一致,如下图所示,$就是标记符

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

变量的累加:当有某特殊符号存在时,单独加上双引号“”可单独识别里面的内容,如c=a "$b"c; echo $c输出结果为a2c

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

全局变量 export b=2

五周第四次课(4月23日)笔记执行w命令查看登录情况, echo $ SSH_TTY 查看在哪个TTY登录

在某个终端上定义一个变量,在另一个终端上并不会显示

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

bash命令,用pstree查看进入子shell

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

exit前, echo $liut 依然为空,exit 回到原来的shell,再echo发现自定义变量重新生效

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

输入export liut=linux (具体的自定义变量表达式),成为全局变量

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

进入子子shell也生效的全局环境变量

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

但是在另一个终端下并不会生效

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

如下图所示:所谓全局变量有两个特点:

①在并列,无交互关系的shell中全局变量不能生效

②在同一个shell环境中,全局变量只能顺向往下生效,不可逆向生效

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

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

unset + 变量名取消自定义变量

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

相关文章: