linux source命令
在Linux系统中,source命令堪称初始化文件的即时生效利器。无需繁琐地注销并重新登录,你就能让刚刚修改过的文件立刻发挥作用。接下来,让我们一起深入了解一下这个强大的命令吧。
一、source命令简介
source命令,又被亲切地称为“点命令”。只需一个简单的点符号(.),bash便会行动起来,它会读取指定的Shell程序文件,并按照文件中的顺序逐句执行。这一功能让刚修改的初始化文件无需任何等待,即刻生效。
二、语法
使用source命令非常简单,只需输入“source filename”或“. filename”即可。
三、source命令与其他脚本执行方式的区别
当shell脚本具备可执行权限时,使用sh filename和./filename执行脚本在效果上并无差异。之所以使用./filename,是因为当前目录并未包含在PATH中,而“.”则代表当前目录。
sh filename会重新开启一个子shell,在这个子shell中执行脚本内的语句。子shell会继承父shell的环境变量,但新设或修改的变量不会“回流”至父shell,除非使用export。
而source filename命令则完全不同,它仅仅是读取脚本中的语句并在当前shell中依次执行。无需启动新的子shell。这也意味着脚本中的所有新设和修改变量的语句都会保存在当前的shell中。
四、实例
假设我们新建一个名为test.sh的脚本,内容为简单的赋值语句:A=1。经过chmod +x test.sh赋予其可执行权限后,我们通过三种方式运行这个脚本。
1. sh test.sh或./test.sh后,尝试echo $A,会发现没有任何输出,因为A=1并未在当前shell中生效。
2. 而使用source test.sh或. test.sh后,再echo $A,则能看到输出1,说明A=1的变量已经在当前shell中生效。
至此,我们了解了source命令的强大功能及其在Linux系统中的独特作用。希望这篇文章能帮助你更好地理解和掌握这一命令的使用。