如何从shell脚本设置环境变量

如何从shell脚本设置环境变量,shell,environment-variables,Shell,Environment Variables,脚本文件set\u env: #/bin/bash export LD_LIBRARY_PATH=some_PATH/openssl/lib/ 我从终端运行它:/set\u env 但变量尚未确定: printenv | grep“LD_LIBRARY_PATH” 不打印任何内容 所以应该是这样的?子进程不能更改父进程的环境 执行此操作的唯一方法是让父环境为脚本提供源代码。 这一切都取决于你如何“运行”它 子进程无法更改父进程的环境 执行此操作的唯一方法是让父环境为脚本提供源代码。 这一切都

脚本文件
set\u env

#/bin/bash
export LD_LIBRARY_PATH=some_PATH/openssl/lib/
我从终端运行它:
/set\u env

但变量尚未确定:

printenv | grep“LD_LIBRARY_PATH”
不打印任何内容


所以应该是这样的?

子进程不能更改父进程的环境

执行此操作的唯一方法是让父环境为脚本提供源代码。
这一切都取决于你如何“运行”它


子进程无法更改父进程的环境

执行此操作的唯一方法是让父环境为脚本提供源代码。
这一切都取决于你如何“运行”它


你不能。子进程不能影响其父进程的环境。这是否回答了您的问题?你不能。子进程不能影响其父进程的环境。这是否回答了您的问题?
./set_env   # won't work creates a child process that evaporates
. ./set_env # reads the script in the *CURRENT* environment, loads the vars