博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5-4 8 管道符 作业控制 shell变量 环境变量配置
阅读量:6293 次
发布时间:2019-06-22

本文共 3227 字,大约阅读时间需要 10 分钟。

hot3.png

8.6 管道符和作业控制

管道符: |

用法:xxx | yyy 将xxx的输出结果给yyy处理

[root@axiang-02 ~]# cat 1.txt xxx     Math English C++  Experiment  Monkey  100   90     95   Good  Cat     80    100    60   Perfect  Dog     90    60     70   Great  Tiger   95    85     90   Fantastic[root@axiang-02 ~]# cat 1.txt |wc -l ; cat 1.txt |grep 955Monkey  100   90     95   Good  Tiger   95    85     90   Fantastic
  • 管道符“|”:表示把输出的内容传递给后面的命令

作业控制

  • ctrl z 将当前任务暂停并放到后台
  • jobs 查看后台的任务
  • bg [id]后台执行任务
  • fg [id]前台执行任务
  • xxx&丢到后台

8.7/8.8 shell变量

常见环境变量

PATH,HOME,PWD,LOGNAME,SSH_TTY

[root@axiang-02 ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin[root@axiang-02 ~]# cd /tmp[root@axiang-02 tmp]# echo $HOME/root[root@axiang-02 tmp]# pwd/tmp[root@axiang-02 tmp]# echo $PWD/tmp[root@axiang-02 tmp]# which pwd/usr/bin/pwd[root@axiang-02 tmp]# lognameroot[root@axiang-02 tmp]# which logname/usr/bin/logname[root@lixiang01 ~]# echo $SSH_TTY 查看自己是那个终端/dev/pts/3[root@lixiang01 ~]# w 查看有几个终端 10:17:53 up  1:06,  3 users,  load average: 0.00, 0.01, 0.05USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATroot     pts/0    192.168.83.1     09:59   16:25   0.21s  0.21s -bashroot     pts/1    192.168.83.1     10:04   12:59   0.11s  0.11s -bashroot     pts/3    192.168.83.1     09:55    1.00s  0.71s  0.07s w

env命令

查看环境变量

[root@axiang-02 tmp]# env | tailLANG=zh_CN.UTF-8HISTCONTROL=ignoredupsSHLVL=1HOME=/rootLOGNAME=rootSSH_CONNECTION=10.1.1.1 55509 10.1.1.8 22LESSOPEN=||/usr/bin/lesspipe.sh %sXDG_RUNTIME_DIR=/run/user/0_=/usr/bin/envOLDPWD=/root

set命令

查看更多变量,包括自定义变量

[root@axiang-02 ~]# aaa=axiang[root@axiang-02 ~]# set |grep aaaaaa=axiang

自定义变量

[root@axiang-02 tmp]# a=xxx[root@axiang-02 tmp]# c=a;echo $c     没$不传递值a[root@axiang-02 tmp]# c=$a;echo $c    有$传递值xxx[root@axiang-02 tmp]# c='$a';echo $c  单引号脱义$$a[root@axiang-02 tmp]# c="$a";echo $c  双引号不脱义$xxx
  • 变量名规则:字母、数字下划线,首位不能为数字

export命令

全局声明变量,可以备继承

[root@lixiang01 ~]# export a=axianglinux[root@lixiang01 ~]# bash[root@lixiang01 ~]# bash[root@lixiang01 ~]# pstree   用pstree查看,向下生效。是脚本间变量生效systemd─┬─NetworkManager───2*[{NetworkManager}]        ├─agetty        ├─anacron        ├─auditd───{auditd}        ├─chronyd        ├─crond        ├─dbus-daemon───{dbus-daemon}        ├─firewalld───{firewalld}        ├─irqbalance        ├─master─┬─pickup        │        └─qmgr        ├─polkitd───5*[{polkitd}]        ├─rsyslogd───2*[{rsyslogd}]        ├─sshd─┬─sshd─┬─bash───bash───bash───pstree        │      │      └─bash        │      └─sshd───bash        ├─systemd-journal        ├─systemd-logind        ├─systemd-udevd        ├─tuned───4*[{tuned}]        └─vmtoolsd───{vmtoolsd}[root@lixiang01 ~]# echo $aaxianglinux[root@lixiang01 ~]# unset a  取消定义[root@lixiang01 ~]# echo $a

  • 变量只能继承,不能上传或旁传

8.9 环境变量配置文件

系统级

  1. /etc/profile 用户环境变量,交互,登录才执行,会调用bashrc。其中主要包含PATH USER LOGNAME MAIL INPUTRC HOSTNAME HISTSIZE umask
  2. /etc/bashrc 用户不用登陆,执行shell就生效,主要有umask PS1

用户级

用户家目录下有自己的环境配置文件,是隐藏的

  1. ~/.bashrc,PS1='[\033[01;32m][\u@\h \w][\033[0m]$ ' 这里定义比较合适
  2. ~/.bash_profile //自定义别名可以写这里
  3. ~/.bash_history //用于记录命令历史
  4. ~/.bash_logout //定义退出的命令,可以将一些清理工作放到这个文件钟
  • profile主要为登陆用户初始化环境,会调用同级的bashrc
  • bashrc定义的环境,不登录也生效,这里定义比较保险

扩展

bashrc和bash_profile的区别

转载于:https://my.oschina.net/u/3579690/blog/1526762

你可能感兴趣的文章
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>
计算机基础知识复习
查看>>
【前端词典】实现 Canvas 下雪背景引发的性能思考
查看>>
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>