Bash

如何製作自定義外殼?

  • December 20, 2020

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

當我嘗試執行它時,它只是失敗了,因為當腳本完成時,終端視窗不會保持打開狀態,並且當腳本結束時我無法與之互動。我不能使用腳本來設置環境變數並獲得互動式外殼。

至少有三種方法可以做到這一點。

  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以了解此模式的實際應用。更複雜,但確實填充了歷史記錄,並且確實支持不太能夠執行前兩種自定義的東西。

引用自:https://unix.stackexchange.com/questions/330382