gpt4 book ai didi

linux - 打开/关闭环境变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:49 26 4
gpt4 key购买 nike

我一直在尝试将 $PATH 环境变量设置为指向我需要的不同路径,但我遇到了一些问题。

最主要的是,当我将 PATH 设置为指向我需要的服务时,我希望它在所有后续的 bash shell 中保持这种状态。也就是说,当我打开另一个 bash shell 时,它也会被设置在那里,直到我决定将它切换回来。当我将 PATH 切换回其原始值时。我希望它保持这种状态。

我在 .bashrc 中添加了一个小脚本,我还尝试编写一个单独的脚本来更改环境变量。但问题仍然存在:如果我打开一个新的 bash shell,它会继承默认的环境变量和默认的 PATH。

我正在设置它们以启用守护进程服务。我尝试打开/关闭服务本身。这是行不通的,因为必须更改路径,否则 shell 会尝试使用这些环境路径,但关闭它的服务只会挂起。

我尝试运行一个小型 C 程序包装器来执行这些操作,但我遇到了同样的问题。

最佳答案

为了使环境变量存在于 shell session 中,您需要将这些变量放入 shell 配置文件中。这通常在 ~/.bashrc~/.profile 中完成(如果您使用的是 Bash)。例如,在我的 ~/.profile 文件中我有:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

我可以根据需要添加到该路径中。末尾的 $PATH 变量将追加路径中的当前内容。

如果您需要脚本能够访问变量,您应该将PATH 放入.bashrc 文件中。 ( what is the difference between .bashrc and .profile )

如果您对其中一个 shell 配置文件进行了更改,则更改将不会生效,直到再次使用这些文件。这些文件仅在 shell 首次初始化时使用。为了使更改生效,您需要注销并重新登录,或者打开一个新的 shell 并关闭旧的,或者 source 您所做更改的文件。

$ vim ~/.bashrc (edit the file)
$ source ~/.bashrc (then reinitialize the shell with the file)

如果您只需要一个变量在当前 shell 和任何子进程中可用,那么您只需要使用 export

关于linux - 打开/关闭环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20335844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com