Linux命令-Source

重学linux,发现还是有很多有趣又实用的命令,比如source

作用

在当前bash环境下读取并执行FileName中的命令。简单来说就是将设置在文件中的配置信息马上生效,比如你设了一个alias,或者一个PATH如果你不source修改的文件的话,只有等下次重启后才能生效,如果你source了就马上生效了。

意思就是环境可以执行你环境所支持的所有命令组合的文件,也就是当你写了一个脚本文件的时候,可以通过source命令去执行。

使用范例:

source filename
# 或者
. filename

就是.命令。

简单使用

如使用Hexo搭建的博客,通常需要先清理,在生成,最后部署或者开本地服务,一连串的命令如下(这里只是举一个例子,通常脚本文件不会这么短):

hexo c && hexo g && hexo d/s

这时候就可以新建一个可执行文件如hexo_s,并把上述代码输入其中。就可以通过source hexo_s的去执行一连串的操作。

区分

sh filepath

sh filepath会重新简历一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell是新建的,其改变的变量不会被带回父shell,除非使用export

source filename

source filename就是简单地读取file中的所有语句,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。因为不会建立新的子shell,变量的值都可以直接取到:

# ming @ ming-virtual-machine in ~/demo [20:32:48]
$ cat hwinfo
type=x86
provider=vm
model=vm
product=center
date=20140918

输出如下:

# ming @ ming-virtual-machine in ~/demo [20:33:16]
$ source hwinfo > /dev/null&& echo $product
center

这里的&&的含义是,当左边的命令执行成功时,才会执行右边的命令;||就相反,左边的命令执行失败,才执行右边的命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧恩意

如有帮助,感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值