我正在为环境管理器的安装编写bash脚本,但这意味着我必须在多个目录中安装一些东西。有关更多细节,请参见我的另一个问题。但这让我重新思考了我的方法。
我现在正在考虑制作三个单独的bash脚本。然后那个人就会给另一个打电话。事情是这样的:我需要了解如何在父shell中使用source .bash_profile。问题是,在bash脚本中调用的bash脚本是在新shell中运行还是在父shell中运行,还是在父shell中的主机bash脚本shell中运行?
我知道它在煮我的大脑。我真的想要自动化这个过程,这是我面对的墙。
发布于 2013-05-30 12:00:32
如果在shell中执行命令,则它总是作为此shell的子进程执行,除非
cd). /path/to/file,source /path/to/file)exec执行。您可以很容易地使用ps -e -o pid,ppid,user,args进行检查。
只有当变量被标记为导出时,source .bash_profile才会影响子see(参见declare -x)。
发布于 2013-05-30 12:13:52
这是实际的区别:
source,脚本被迫在当前进程中运行(在父进程中)。然后,脚本中的环境变量将保持不变。https://unix.stackexchange.com/questions/77636
复制相似问题