Linux source 命令作用

用途

source命令是bash shell的内置命令。
在当前bash环境下读取并执行filename中的命令。

用法

第一种
source filename
第二种,点符号是source的另一名称
.filename

说明

当前脚本中配置的变量也将作为脚本的环境。
用souce 方法执行,只在本shell环境中执行,不会启动一个新的子进程,所有在脚本中设置的变量将成为当前shell的一部分。
而用sh filename或./filename执行,会重新建立一个子shell,子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell。

写一个脚本文件testsource,内容为
TESTSOURCE=TEST_change

//将123写到TESTSOURCE
mypc@mypc-u2004:~/workspace/c$ TESTSOURCE=123
mypc@mypc-u2004:~/workspace/c$ echo $TESTSOURCE
123
//sh方式执行,不变
mypc@mypc-u2004:~/workspace/c$ sh testsource
mypc@mypc-u2004:~/workspace/c$ echo $TESTSOURCE
123
//.方式执行,不变,这里可能要先chmod testsource提权下
mypc@mypc-u2004:~/workspace/c$ ./testsource
mypc@mypc-u2004:~/workspace/c$ echo $TESTSOURCE
123
//source方式执行,变了
mypc@mypc-u2004:~/workspace/c$ source testsource
mypc@mypc-u2004:~/workspace/c$ echo $TESTSOURCE
TEST_change

posted @ 2021-11-11 21:12  am7s  阅读(387)  评论(0编辑  收藏  举报