我正在寻找一种方法来创建某种“设置”脚本,该脚本可以设置环境变量并最终为用户提供 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
...