shell-source命令

前言

将被指定目录的bash读取到当前环境中并执行,通常的用法是用于重新执行刚修改的初始化文件,使之立即生效,而不必注销重新登录。这意味着,source命令可以在不启动新的子shell的情况下执行指定的脚本,所有在脚本中设置的变量都将成为当前Shell的一部分。

其用法如下:

source filename

source也可以用.来代替

. filename

用法

1. 执行bash_profile和profile等配置文件。

source命令的常见用途包括重新执行刚修改的初始化文件(如.bash_profile和.profile等配置文件),以便在不注销并重新登录的情况下立即使修改生效。例如,如果在登录后对.bash_profile中的某个变量做了修改,就可以使用source命令重新执行.bash_profile文件,使修改立即生效。

source命令的一个常见用例是在编译内核时,可能需要反复输入一长串命令。如果把这些命令做成一个文件,让它自动按顺序执行,这将非常方便。source命令可以实现这一点,它的作用就是把一个文件的内容当成是shell来执行。

2. 将其他shell加载到当前环境

例如,我们然后写一个shell脚本a.sh,脚本中创建一个环境变量

export JJJ=111

然后使用sh a.sh执行a.sh,然后执行

echo $JJJ

发现什么也不会输出,这是因为环境变量JJJ是在a.sh这个shell中设置的,并没有传递到父shell中来。

但是如果使用source来执行a.sh,则结果就完全不一样了。

source a.sh
echo $JJJ

控制台会输出 111, 这是因为source命令把a.sh的内容加载到当前shell环境中执行性了。

3. 将文件“导入”到shell环境中

类似于C++的include和python的import,source可以在写脚本中导入其他脚本,以便使用其他脚本中的一些函数或者变量
例如,编写b.sh:

AAA=1
print(){
echo "hello world"
}

编写c.sh,调用b.sh中的方法和变量
c.sh:

echo $AAA
print

执行c.sh,控制台输出

111
hello world


《C++ Primer》《Effective C++》是C++开发者必不可少的书籍,如果你想入门C++,以及想要精进C++开发技术,这两本书可以说必须要有。此外,《Linux高性能服务器编程》以及《Linux多线程服务端编程:使用muduo C++网络库》.(陈硕)》是快速提高你的linux开发能力的秘籍。《大话设计模式》可以增强我们的模型提取及设计能力,写出更优雅的代码。同时,《操作系统导论》更是开发必读书目,在网上搜索相关资源也要花费一些力气,需要的同学可以关注公众号【程序员DeRozan】,回复【1207】快速免费领取~

你可能感兴趣的:(工具,shell)