执行脚本之间的区别是什么
# ./test
Run Code Online (Sandbox Code Playgroud)
和
# . ./test
Run Code Online (Sandbox Code Playgroud)
例如,test是简单的脚本
#!/bin/bash
export OWNER_NAME="ANGEL 12"
export ALIAS="angelique"
Run Code Online (Sandbox Code Playgroud)
我知道结果,但我不确定实际发生了什么
谢谢
./foo执行foo,如果它被标记为可执行的,并具有一个适当的shebang行(或者是ELF二进制).它将在一个新的过程中执行.
. ./foo或者. foo在当前 shell中加载脚本.它等于source foo
使用示例代码,如果希望导出的变量在shell中可用,则需要使用第二种方法.