1. `source` 命令: 使用`source`命令可以读取并执行一个shell脚本文件中的命令,就好像脚本中的命令是直接在当前shell会话中键入的一样。这意味着脚本中的任何环境变量设置或函数定义都会影响到当前的shell会话。`source`通常用于加载配置文件,比如`.bashrc`或`.profile`,这些文件包含了用户的环境设置。 语法:`source...
source命令即点(.)命令。 在bash下输入man source,找到source命令解释处,可以看到解释"Read and execute commands from filename in the current shell environment and ..."。从中可以知道,source命令是在当前进程中执行参数文件中的各个命令,而不是另起子进程(或sub-shell)。 exec: 在bash下输入man exec,找到e...
这是一直等待的父进程来继续接收命令。而在用source来执行脚本的时候,不会创建子进程,而是在父进程中直接执行。所以当需要程序修改当前shell本身的环境变量的时候,使用source命令。 附测试脚本 分别使用bash和source执行以下脚本,执行完毕后重新运行pwd命令,会发现使用bash命令脚本执行前后路径并没有发生变化,而使用source...
你可以使用source将文件 “导入” 到 shell 环境中,就像你可以在 C 或 C++ 中使用include关键字引用一个库,或者在 Python 中使用import关键字引入一个模块一样。这是source的最常见用法之一,它也是.bashrc中的一个默认包含方式,通过source导入.bash_aliases,以便将任何你自定义的别名在登录时导入到你的环境。 这...
exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本.被调用的脚本与父脚本在同一个shell内执行。但是使用exec调用一个新脚本以后, 父脚本中exec行之后的内容就不会再执行了。这是exec和source的区别。 下面用一个例子来讲解 1.sh #!/bin/bash ...
2.2 变量和环境的传递差异 由于执行环境的不同,source和sh、bash在变量和环境的传递方面也有差异:sour...
1、source source a.sh 1. 在当前shell内去读取、执行a.sh,而a.sh不需要有"执行权限" source命令可以简写为"." 注意:中间是有空格的。 2、sh/bash sh a.sh bash a.sh 1. 2. 都是打开一个subshell去读取、执行a.sh,而a.sh不需要有"执行权限" ...
1、source source a.sh 在当前shell内去读取、执⾏a.sh,⽽a.sh不需要有"执⾏权限"source命令可以简写为".". a.sh 注意:中间是有空格的。2、sh/bash sh a.sh bash a.sh 都是打开⼀个subshell去读取、执⾏a.sh,⽽a.sh不需要有"执⾏权限"通常在subshell⾥运⾏的脚本⾥设置变量,不...
bashxxx.sh:新建一个 bash 终端,并执行 xxx.sh。 sh xxx.sh:新建一个 sh 终端,并执行 xxx.sh。 source xxx.sh:在当前终端执行 xxx.sh,也可以写成. xxx.sh。 ./xxx.sh:打开一个新的终端,并执行 xxx.sh。(注意:此方法需要先给代码添加执行权限,可以输入chmod +x xxx.sh) ...
根据不同的头部,决定是用sh 还是 bash,在看到.sh脚本的时候,得先看看其头部 source执行与sh执行区别: source在当前shell中运行,而sh/bash 在子shell中运行 SouthEast.png ./ ./build/envsetup.sh 打开一个子shell去读取、执行envsetup.sh,但envsetup.sh需要有"执行权限...