管道符和作业控制shell变量环境变量配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了管道符和作业控制shell变量环境变量配置文件相关的知识,希望对你有一定的参考价值。

管道符和作业控制

管道符
管道符意思是把前面文件输出的内容传递给后面的命令。如下图就是显示当前目录的文件个数:
技术分享图片
`
作业控制
ctrl z暂停当前任务(可以暂停多个),使用fg可以恢复,jobs可以查看你暂停的所有任务,如果暂停了多个任务,想要恢复其中的一个的话可以使用fg加id号,下图两个任务的id号分别是1、2。
技术分享图片
·
bg可以把当前运行的任务放到后台去,但是还是在运行的,不过你这个时候就可以敲其他命令了,fg可以恢复。
·
sleep加数字 就是暂停窗口多少秒。
·
一条命令后面加&可以直接放到后台运行。其他终端窗口用jobs是看不到这个终端窗口后台的。
·
·
·
·
·

shell变量

PATH、HOME、PWD、LOGNAME等都是变量。
·
查看变量
env可以查看系统常用的环境变量。
set可以查看系统的变量,还可以查看用户自定义的变量。
·
自定义变量
格式:变量名=变量值
变量名规则:可以是字母、数字、下划线、但是首位不可以是数字。
技术分享图片
`
变量值规则:有特殊符号的时候需要用单引号括起来。(特殊符号包括空格)
技术分享图片
·
变量值叠加,如下图c=变量a的值、b (被叠加的变量要用双引号)
技术分享图片
·
·
·
全局变量
w可以查看目前登录系统的所有终端。(当终端太窄 无法显示一排内容时,会报错w: 67 column window is too narrow,这时放大远程终端左右宽度即可)
技术分享图片
·
使用如下命令可以查看你的终端名
技术分享图片
·
我们使用“变量名=变量值”这种格式自定义一个变量,如果你换了一个终端这个变量不会在另一个终端里也有。
·技术分享图片
技术分享图片
·
或者使用bash打开一个子shell,相当于另一个终端,(可以使用pstree查看你现在所在的具体终端)也是查不到你自定义的这个变量的。
技术分享图片
·

所以这种变量叫非全局变量,或者说本地的变量。
·
·
如果我们可以使用“export 变量名=变量值”这种格式自定义变量,那么就是全局变量,使用bash打开一个子shell这个变量也是存在的,不过你新建一个终端还是不存在这个变量的,因为全局变量只是向下延伸的,也就是说只是在当前shell的子shell或者子shell的子shell向后一直延伸的shell才生效。
技术分享图片
技术分享图片
·
·
·
·
·

环境变量配置文件

环境变量配置文件分为两种,一种是系统层面,还有一种是用户层面。br/>/etc/profile和/etc/bashrc是系统层面。
~/.bashrc和~/.bash_profile和~/.bash_history和~/.bash_logout是用户层面,在用户家目录。
profile是用户登录的时候会加载到。
bashrc是用户执行或者系统执行一些shell脚本的时候会加载到。
系统层面最好不要去改动,需要改动我们可以改用户层面的,不过这只是针对当前用户的,如果想要全集生效的话就要去改系统层面的配置文件。
~/.bash_logout用来定义用户退出时候需要做的操作,如果想要用户每次退出时清除命令历史,就可以把删除命令历史的命令放到这个文件里去。
下面我们来介绍一下PS1变量,
我们登录系统之后左边都会有一串以用户名开头的字符串,这串字符串可以分为几段,分别是用户名、@、主机名、当前所在的目录最后一层。
PS1变量就是用来定义这个字符串的,
技术分享图片
·
我们把目录位置改成小写的w,意思就是改成显示绝对路径。
技术分享图片
·
同时我们也可以让它带颜色显示,
技术分享图片
·
PS2变量是在另一种模式会用到。它的字符串默认只是一个>。


以上是关于管道符和作业控制shell变量环境变量配置文件的主要内容,如果未能解决你的问题,请参考以下文章

管道符和作业控制 shell变量 环境变量配置文件

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

管道符和作业控制shell变量环境变量配置文件

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

管道符和作业控制shell变量环境变量配置文件

管道符和作业控制 shell变量 环境变量配置文件