从 ~/.bash.rc 获取变量并在注销后保留它们

从 ~/.bash.rc 获取变量并在注销后保留它们

我一直在编写一堆 bash 脚本,以便使用 CollabNet 的 SVN 客户端和 GNOME Keyring Daemon(又名 GKD)实现非交互式、安全、基于 cron 的 SVN 签出,其中一个脚本旨在启动 GKD、收集其输出(本质上是几个环境变量),并在运行脚本的用户的 shell 中导出这些变量。所有这些都在用户登录后通过在 ~/.bashrc 中获取 bash 脚本来完成。

问题是这些环境变量不会被导出,因为脚本正在子 shell 中运行,脚本完成后子 shell 就会退出,并且环境变量将被永久取消设置。

那么,问题是如何永久设置这些变量,这意味着它们被导出并且即使在登录-注销会话中也保持不变?

答案1

只需将变量回显到主目录(或其他地方)中以 . 开头的另一个 shell 脚本即可(因此它在默认的 ls 视图中不可见)。修改您的 .bashrc,以便在启动时执行此 shell 脚本。

例子:

foo='What the heck'; echo "foo='$foo'" > ~/.startup.sh

然后将其放入 ~/.bashrc 中就完成了:

. ~/.startup.sh

相关内容