Preserve environments vars after shell script finishes

后端 未结 3 1901
别那么骄傲
别那么骄傲 2021-01-11 14:14

How can I keep the environment variables, set from a shell script, after the script finishes running?

3条回答
  •  心在旅途
    2021-01-11 14:31

    Environment variables exist the the environment that is private to each process. The shell passes a COPY of exported variables to it's children as their environment, but there is no way for them to pass their environment back to the parent or any process other than their children. You can print those variables and load them into the parent. Or as has been already mentioned, you can run your script in the current shell with either "source script" or ". script" (and you might need ./script if . isn't in your PATH). Some tools print their vars and the shell can load them using backticks like ssh-agent. That way whatever ssh-agent prints will be run as a command. If it prints something like "VAR1=VAL;VAR2=VAL2" that may do what you want.

提交回复
热议问题