码迷,mamicode.com
首页 > 其他好文 > 详细

2018-4-23

时间:2018-04-23 23:17:07      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:变量

8.6 管道符和作业控制

8.7/8.8 shell变量

8.9 环境变量配置文件




8.6 管道符和作业控制

技术分享图片

管道符:表示把一个文件的输出内容传递到后面一个命令。


例子:cat 1.txt|grep 'aaa' // 把1.txt的内容输出交给后面的内容,然后grep把含‘aaa’的都过滤出来。

          列出有多少文件

技术分享图片


ctrl z 暂停一个任何

例: vim 2.txt的时候我想做别的,就可以先暂停。实际上就是把vim 2.txt丢到后台去了。

技术分享图片

把调回来 fg:放回前台(调回前台来)。


jobs 查看暂停(丢到后台)的任务

技术分享图片


可以用fg + id号调回 

    bg放到后台,并运行(如果不加id 就是最后一次运行的)

技术分享图片


vim不管停止或者丢到后台都是未运行,尝试一个动态显示的命令vmstat 1 会不停的显示系统的状态

技术分享图片



技术分享图片

这时候用bg 虽然再后台, 还是依然在输出。这就是bg


sleep 1000 :暂停一千秒,1000秒回复

sleep 100 & 把一条命令放到后台执行(&的作用)


重新打开一个终端无法用jobs查看。







8.7/8.8 shell变量

技术分享图片

env获取到变量,查看系统常用变量。set不仅查到系统的,还会查到用户自定义的变量。

技术分享图片

等号的左边是变量名字


自定义变量 比如a=11

技术分享图片

在set里 就会体现出来(env里没有因为这是用户自己定义的)。


变量名规则:字母,数字下划线,首位不能位数字。(a1=2  _a=2 都可以 1a=2就不可以)

变量值:有特殊符号的时候要用单引号括起来(如果用双引号系统会认为特殊符号为控制符)

技术分享图片


变量的累加a=1 b=2  echo $a$b


全局变量:打开两个终端

技术分享图片

w查看当前登陆用户

echo $SSH_TTY可以查看当前登陆哪个TTY下

技术分享图片

技术分享图片


在pts/0上定义一个变量。wt=linux

技术分享图片

在pts/1再查看 是没有这个变量的。


bash打开另外一个终端,进入一个新的bash

然后可以用pstree查看进程(如果没有pstree,需要安装psmisc)

技术分享图片

目前再bash-pstree这里。先通过sshd打开了一个bash 再运行了一个新的bash(相当于子shell)


这时候再运行echo $wt 也不会生效,仅仅是再刚才的bash里会生效。

exit 退出子shell 又可以生效了。

技术分享图片


定义一个变量实际上是非全局的,只是本地的变量,仅仅在这个终端下生效。


那就会有全局变量。

变成全局变量:export wt=linux(后面加变量名和变量值)

//这时候 所有的子shell 都可以生效就是全局变量。(生效的条件只是在这个sshd下面)

技术分享图片

如果下面这个bash 就是复制的 或者重新打开一个 也无法生效。


并且这个全局变量是向下的,如果子bash设置的全局变量,在上一层无法生效。


取消变量unset wt(后面跟变量名)

技术分享图片





8.9 环境变量配置文件(理解为主)

技术分享图片


分成两个维度

系统维度/etc/..

用户维度~/.bash(~是用户家目录)


profile是用户登陆的时候会加载到。

bashrc是用户或系统执行shell脚本就会生效。


一般不动etc,有需求修改用户家目录就可以了

比如 vim .bash_profile

技术分享图片

可以在这里面改动(这个改动只是针对用户的,如果需要全局,需要在etc下改动)

其中 有个技术分享图片

前面这个黄点 和前面的source作用是一样的目的都是为了加载配置文件里的配置。

技术分享图片



只要执行脚本系统就会自动调用bashrc中的文件。

同行执行bashrc也会自动调用profile。


bash_logout用来定义用户退出时候需要做的操作(如每次退出的时候都要删除命令历史)。


PS1变量。 在etc/bashrc里定义的

技术分享图片

登陆时会有root@**。 ~表示用户家目录

技术分享图片

u就是用户 h:hostname W:最后一层目录

如果把W改成小w就会显示绝对路径

技术分享图片

技术分享图片


这里都可以改动比如去掉方块号等。

技术分享图片

可以带颜色显示。


还有一个对应的PS2,了解一下就可以了。










2018-4-23

标签:变量

原文地址:http://blog.51cto.com/13646170/2107021

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!