gpt4 book ai didi

linux - 使用 shell 脚本设置控制台环境

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

我有一个 shell 脚本 setmyenv.sh 如下

#!/bin/sh
export PATH=./abc/tools:$PATH
env | grep PATH

当我运行它时 sh setmyenv.sh,我可以看到相应地设置了 PATH env。

PATH=./abc/tools:<whatever my existing PATH setting>

但是,在我的命令完成后,如果我手动输入 env | grep PATH 在控制台上,我得到了

PATH=<whatever my existing PATH setting>

我丢失了使用 setmyenv.sh 设置的设置看起来环境只在我的脚本运行的生命周期内设置。

即使在脚本结束后,我怎么能让环境设置为粘性的。即脚本的目的是设置环境。?

P/S: 我不想在我的 .bash_profileetc\profile 中设置它,因为我只想在需要时设置它,通过调用setmyenv.sh,但不是每次我打开控制台时。即不是根据 Using .sh script to set an environment variable 的答案或 How to set global environment variables using shell script .sh

最佳答案

当你运行时

sh setmyenv.sh

它在一个单独的 sh 进程中运行,当该进程完成时,对 PATH 的更改将丢失。

您需要获取您的脚本:

source setmyenv.sh

. setmyenv.sh

这样它就可以在您当前的 shell 中运行,并且所有变量赋值都将被保留。请记住不要在 setmyenv.sh 脚本中有任何 exit。如果这样做,获取脚本将终止您的 shell。


另见:

关于linux - 使用 shell 脚本设置控制台环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42620104/

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