1

我正在尝试编写一个脚本,允许我在我的环境中设置一堆环境变量。我习惯做的是:

source ./script

但是现在我希望我的脚本位于 PATH 变量中,这样我就可以从我想要的任何地方调用它。

但是这样称呼它:

script

将打开一个新的 shell 并在新的 shell 中设置变量,一旦脚本执行完毕,我就会失去一切。

所以我想知道我怎么能做到这一点。

4

2 回答 2

4

也许你应该使用alias.

假设您的环境变量在文件/path/to/stuff/my_env中,只需添加一个别名

alias my_env="source /path/to/stuff/my_env"

然后你只需要发出my_env,你就完成了!

What you're trying to achieve can't be done from within a script, unless your script launches a new bash command, but that's a bit awkward!

于 2012-11-11T16:49:17.550 回答
2

您可以创建一个获取脚本的函数:

do_it () {
  source /your/script
}

把它放在你的里面.bashrc,你就可以发出

do_it
于 2012-11-11T16:15:16.927 回答