管道符作业控制变量

Posted

tags:

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

管道符

将前一个命令的输出作为后一个命令的输入
cat 1.txt|wc -l 显示 1.txt 行数,先查看内容,再统计行数

作业控制

bg 将当前程序或进程调取到后台运行(挂起)
fg 将当期程序或进程调取到前台进行
jobs 查看后台被挂起的进程
ctrl +z 暂停当期进程
ctrl +c 结束当前进程
ps 查看系统进程数
kill 杀死系统进程(指定PID)
killall 杀死系统进程(指定名称)

变量

PATH HOME PWD LOGNAME

env命令 获取系统预设的全部系统变量(系统变量默认都是大写的)

set 多了很多变量,并且包括用户自定义的变量

自定义变量
技术分享图片

变量名规则:字母、数字下划线,首位不能为数字
变量中有特殊字符,千万记得要两边加单引号
[[email protected] ~]# a=‘a b c ‘
[[email protected] ~]# echo $a
a b c
[[email protected] ~]# a= "a b c d "
-bash: a b c d : 未找到命令
[[email protected] ~]# a= "a b c d"
-bash: a b c d: 未找到命令
[[email protected] ~]# a=‘a$bc‘
[[email protected] ~]# echo $a
a$bc

变量的累加

这是个很有意思的例子
技术分享图片

全局变量

(当前shell的子shell继承当前父shell,即孙子有儿子的样子,儿子有你的样子,但你爸爸不会有你的样子)
[[email protected] ~]# export aming=linux #声明全局变量
[[email protected] ~]# echo $aming
linux
[[email protected] ~]# bash #进入子shell
[[email protected] ~]# echo aming
aming
[[email protected] ~]# export aming=linux #进子shell的子shell
[[email protected]inux01 ~]# bash
[[email protected] ~]# echo aming
aming #子shell 均可生效

取消全局变量

[[email protected] ~]# unset aming
[[email protected] ~]# echo $aming #取消后不生效

环境变量配置文件

/etc/profile 用户环境变量,交互、登录才执行
/etc/bashrc 用户不登录,执行shell 就生效

只针对当前用户下的变量:
~/.bashrc
~/.bash_profile
~/.bash_history 用户历史记录记录
~/.bash_logout 用户退出需要做的操作

vim .bash_profile
. .bash_profile 或者 source .bash_profile使用户的.bash_profileshengxiao
===>会去自动调用 .bashrc===========>再会去自动调用/etc/bashrc

vim /etc/bashrc 配置PS1
PS1 显示用户登录时的信息

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# echo $PS1
[\[email protected]\h \W]\$ # 当前用户,主机名,相对路径

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

8.6-8.9 管道符和作业控制shell变量,环境变量

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

管道符,作业控制,变量以及变量配置文件

管道符作业控制变量

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

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