我正在使用 github 程式碼空間來測試 Discord.js 機器人。在其中我使用指令fortune | owsay
使用了fortune
和cowsay
指令,fortune 指令使用sudo apt install Fortune-mod
安裝, cowsay 使用<代码>sudo apt安裝cowsay代码>。他們的安裝目錄位於“/usr/games”而不是“/bin”下,因此當我運行命令 fortune |牛說
我明白了
bash: fortune: command not found bash: cowsay: command not found
這是因為在 Github 程式碼空間中 /usr/games 不在 $PATH 中
當我將“/usr/games”新增至“/etc/profile”和“~/.profile”中的路徑時,請使用
export PATH="/usr/games:$PATH"
放在兩個檔案的底部,然後使用命令「source /etc/profile」並在稍後測試「source ~/.profile」這些命令有效...但當我嘗試使用VScode 的內建運行程序(按f5 並單擊node.js)運行該文件時,它會自動創建一個新shell 並使用node 來運行它命令未找到的文件。
我想知道 GitHub codespaces 如何在沒有我新增的新路徑的情況下建立新的 shell。以及如何將 /usr/games
目錄新增至 vscode 運行檔案時開啟的新 shell 的路徑
雖然您在 Github Codespace 中使用的 shell 是互動式的,但它們不是登入 shell。只有登入 shell 才會執行
/etc/profile
和~/.profile
檔案。您可以透過執行以下命令來測試 shell 是否為登入 shell:
您可以:
.bashrc
檔案等設定PATH
;互動式非登入檔案將執行此檔案。儘管我認為在.profile
以外的檔案中設定PATH
並不是最佳實踐。bash -l
以啟動一個新 shell 作為登入 shell。.vscode-remote
settings.json
檔案中建立新的終端設定檔- 前往Settings
和Remote [ Codespaces]
,點擊Edit in settings.json
按鈕應該可以到達這裡,然後將新的設定檔新增到terminal.integrated.profiles.linux
...然後在 VS Code 中使用
bash(登入)
設定檔開啟一個新終端。