linux_source

2021/12/21 7:22:38

本文主要是介绍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

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



这篇关于linux_source的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程