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】快速免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Michael.Scofield

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值