linux shell的中级教程

1、变量

linux中的变量分为两类,用户(环境)变量和临时(本地)变量。环境变量存在于所有shell中。本地变量存在于当前shell中,所以本地变量中一定有环境变量。注意是shell不是用户,所以如果一个用户打开了多个shell,它们之间的非环境变量的本地变量是不能共享的。

(1)环境变量的设置过程如下
每一次用户登录时/etc/profile文件被读取,设置变量
然后读取用户空间相同功能的文件 ~/.bash_profile
用户每一次新打开shell时,/etc/bashrc,设置变量
然后读取用户空间的文件~/.bashrc 事实上,在用户推出系统时,还会读取并执行~/.bash_logout 注意,如果向永远修改环境变量,只能在上述文件中修改。重新登陆(根目录下文件)或者重新打开shell(用户目录下才会)才会生效,如果想要立即生效,请输入source使该文件立即生效

(2)环境变量的查看方法如下
set 查看所有本地变量
env 查看所有环境变量
export 查看所有导出为环境变量的本地变量
export 查看所有导出为环境变量的本地变量

(3)设置环境变量
set var=value 设置本地临时变量(不是环境变量)
export var=value 设置环境变量,注意,该环境变量存储在内存中,只为该session保留,也就是说,如果你新建一个终端,必然不会存在
上述两着的区别就是,第一种不能被子shell所继承(注意不是共享,指示继承),而第二种可以。 这里简单介绍以下子shell的概念,当shell执行某一个脚本时,系统便自动创建了了一个子shell。子shell用于父shell所有环境变量的拷贝。

2、管道
最常用的是 | 管道。

ls | grep -v "cat1" #grep的-v参数表示过滤掉包含该字符串的结果,输出不包含该字符串的结果

再讲一下xargs命令,之所以用到这个命令,关键是很多命令不支持 | 管道进行传递。xargs读入stdin的输入,并通过空白和断行来讲标准输入分割为若干个arguments。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值