我在雪豹上遇到了非常奇怪的问题。在我的终端中,我编写了两个脚本:
第一的:
#script-1.sh
export MY_VAR="This is my variable"
第二个脚本:
# script-2.sh, having +x permission
#!/bin/bash
echo $MY_VAR
在终端中,如果我获取 script-1,然后将 script-2 作为子进程调用,则不会显示输出:
$> source script-1.sh
$> echo $MY_VAR
This is my variable
$> . script-2.sh
This is my variable
$> ./script-2.sh
$>
知道这里有什么问题吗?我使用 Cygwin 在 Windows 上尝试了相同的场景,并且它按预期工作 - 在 OSX 上,子进程似乎根本不知道$MY_VAR
。