前言
将被指定目录的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】快速免费领取~