我想在我的 IDE 中拥有一个自定义 shell(例如拥有多个.profile
文件)。它只能配置为单次执行,并且当前设置为/bin/bash
.我想在 shell 之前设置环境,以便在 IDE 中打开的每个 shell 都设置好环境。我怎样才能做到这一点?
我尝试使用以下几行创建一个文件。
echo setting path
PG_BIN=/Users/user/Documents/pg/bin
export PATH=$PATH:$PG_BIN
echo git prompt
. ~/.bin/git-prompt.sh
当我尝试执行它时,它只是失败,因为当脚本完成时,终端窗口不会保持打开状态,并且在脚本结束时我无法与它交互。我无法使用脚本来设置环境变量并获得交互式 shell。
答案1
至少有三种方法可以实现这一目标。
- 运行
bash --rcfile mycustomrc
将从给定文件中读取您需要的任何自定义内容;调味--login
或--noprofile
品尝,取决于您是否希望mycustomrc
与标准外壳设置混合。 - 根据特定环境设置进行操作,以确定是否加载标准 shell 设置文件中的自定义设置。也就是说,在
.bashrc
或中.bash_profile
,将自定义代码放置在 中if [[ $FOO_IDE -eq 1 ]]; then ... fi
。 IDE 需要设置此环境变量,或者可能已经设置了一些合适的环境变量来执行。如果您希望所有 shell 配置都在常用文件中,而不是分散在各处,也许会更好。 - 将自定义 shell 配置输入到新
bash
进程中,然后与其交互。参见例如feed
,feed.1
,zcomppoke
,zcomppoke.1
对于这种模式的实际应用。更复杂,但确实填充了历史记录,并且确实支持不太能够执行前两种自定义的内容。