bash:从脚本设置环境变量并留下 shell 提示符

bash:从脚本设置环境变量并留下 shell 提示符

我正在寻找一种方法来创建某种“设置”脚本,该脚本可以设置环境变量并最终为用户提供 bash 命令提示符。

例如:

#!/bin/bash
export PATH=...
export LD_LIBRARY_PATH=...
export PS1=...
...
<give a shell prompt with the above environment variables set>

我不想使用环境变量设置来获取文件,因为我希望用户能够“退出”回到启动此“设置”的 shell。

如何才能做到这一点?

答案1

感谢所有评论和帮助,我将总结答案:

安装脚本由两部分组成。第一部分是需要执行各种任务的脚本。第二部分是包含环境变量和别名的 rc 文件。

这样,环境脚本就可以具有逻辑,并且如果某些条件不满足则可以中止设置,并且 rc 文件用于设置不会被 /etc/profie 或 .bashrc 覆盖的环境变量。

Bash 以交互模式调用,rc 文件正在获取 .bashrc,以便用户可以保留其现有的别名和环境变量。

主要脚本:

#!/bin/bash
... setup logic ...
# final call to bash for login prompt
exec "/bin/bash --rcfile /path/to/rcfile -i"

rc文件:

# source the user's bashrc
source ~/.bashrc

# environment variables
export PS1="\e[1;33m\u@\h \w> \e[m"

# aliases
...

相关内容