How to export PATH from within a called process
本问题已经有最佳答案,请猛点这里访问。
我写了一个小的
1 2 | #!/usr/bin/env sh export PATH=$PATH:/cygdrive/c/Gradle/gradle-3.5/bin |
但是,当我从shell中调用它时,路径最终不会改变。
如果我理解正确,那么在父进程中不会设置该变量。
如何使之成为可能?
如切普纳所说-
在自己的子shell(通常)中执行它
1 | gradle-path |
将创建子进程,在该子进程的环境中设置路径,然后在子进程退出时解构该环境,在父进程的内存中不执行任何操作。
要更改调用者中的路径,您必须在调用者的环境中运行路径-"source"it-如下所示:
1 | . gradle-path |
或者:
1 | source gradle-path |
这些命令基本上会将所列文件中的命令插入调用者的解析流中,就好像它们是在那里写的一样。