在bash shell和zsh中,source和sh都可以执行没有执行权限的脚本文件内容 ./[file]的方式,是在当前shell执行文件本身,把.sh当做一个可执行文件,所以需要.sh的可执行运行权限。当如此运行文件时,有两个进程:一个是运行的'shell script.sh'本身,另一个是.sh脚本内的内容,.sh内的执行的其他程序。 sh [file]的
在bash shell中 在bash shell和zsh中,source和sh都可以执行没有执行权限的脚本文件内容 ./[file]的方式,是在当前shell执行文件本身,把.sh当做一个可执行文件,所以需要.sh的可执行运行权限。当如此运行文件时,有两个进程:一个是运行的'shell script.sh'本身,另一个是.sh脚本内的内容,.sh内的执行的其他程序。
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) 演示: bashxxx.shshxxx.sh...
source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。这从用法中也能看出来。 使用这个命令执行脚本即使没有执行权限也可以运行。 sh sh是一个shell。运行sh ,表示我使用sh来解释这个脚本,sh和source命令 一样,没有执行权限也可以运行脚本。 1...
2.2 变量和环境的传递差异 由于执行环境的不同,source和sh、bash在变量和环境的传递方面也有差异:sour...
可以看出,. 和 source 执行结果都是一样的,并且可以打印出当前 shell 中的变量 LOCAL_VAR,而使用 bash test.sh 则不能打印出 LOCAL_VAR,因为 bash test.sh 是另起了一个子 shell 执行的脚本,所以父 shell 中的普通变量不能继承,但是 export 的全局的环境变量是可以继承的。
linux shell脚本sh和source区别 shell中使用source xxx.sh ,是直接运行xxx.sh的命令,不创建子shell,而sh则创建子shell,子shell里面 的变量父shell无法使用,对环境变量的修改也不影响父shell。父shell中的局部变量,子shell也无法使用,只有父shell的环境变量, 子shell能够使用。
* source (source /directory/script.sh) 与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行. 所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用. * exec (exec /directory/script.sh) exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的...
source test.sh . test.sh bash test.sh ./test.sh 1. 2. 3. 4. source 和 . source和 . 这两个都是shell自带的内建命令,这两个命令是等价的关系。也就是说这两条命令的执行是完全一样的。使用 type source 和 type . 可以看出它们都是内建命令;使用 help source 和 help . 也可以看出这两个命...
source命令,从C Shell而来,是bash shell的内置命令。点命令,从Bourne Shell而来,是source的另一名称。在bash环境下,两者在使用上是等价的。source filename(. filename) 与sh filename 及 ./filename执行脚本的区别 当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./file...