如何制作自定义外壳?

如何制作自定义外壳?

我想在我的 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

至少有三种方法可以实现这一目标。

  1. 运行bash --rcfile mycustomrc将从给定文件中读取您需要的任何自定义内容;调味--login--noprofile品尝,取决于您是否希望mycustomrc与标准外壳设置混合。
  2. 根据特定环境设置进行操作,以确定是否加载标准 shell 设置文件中的自定义设置。也就是说,在.bashrc或中.bash_profile,将自定义代码放置在 中if [[ $FOO_IDE -eq 1 ]]; then ... fi。 IDE 需要设置此环境变量,或者可能已经设置了一些合适的环境变量来执行。如果您希望所有 shell 配置都在常用文件中,而不是分散在各处,也许会更好。
  3. 将自定义 shell 配置输入到新bash进程中,然后与其交互。参见例如feed,feed.1,zcomppoke,zcomppoke.1对于这种模式的实际应用。更复杂,但确实填充了历史记录,并且确实支持不太能够执行前两种自定义的内容。

相关内容