我在macOS Sierra上使用brew
安裝了bash 4.4.5,並將其用作我的主外殼。由於SIP,我不能簡單地升級/替換內置的bash 3.2.57,因此它位於我的/usr/local/bin/
目錄中。在Sublime Text中設置默認外殼二進制位置3
我在我的.bash_profile
中有使用bash 4.x功能(如關聯數組)的腳本。當我嘗試在Sublime Text 3中運行任何構建過程時,它將加載系統內置的bash而不是我自定義的安裝bash,並且每次都會拋出我們的錯誤。是否有任何設置或其他方式來更改Sublime使用的shell?
可能是有用的:
$ which -a bash
/usr/local/bin/bash
/bin/bash
$ bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0)
$ which -a sh
/usr/local/bin/sh
/bin/sh
$ sh --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0)
運行構建的文件'Default \ exec.py'被硬編碼爲MacOS和Linux使用'/ bin/bash'。乍一看,我認爲你必須覆蓋該文件,而不是將它指向'/ usr/local/bin/bash'。另一種方法是修改'.bash_profile',以便測試例如.bash_profile的值。 '$ BASH_VERSINFO'並跳過任何與bash 4相關的東西。 – OdatNurd
如果我只是更改該文件,會有什麼我不得不考慮的嗎? – Julien
如果您重寫它,即使基礎文件被修改(在本例中是通過新版本的Sublime Text),崇高將使用您的重寫,而不會警告您正在發生這種情況。在這種情況下,如果修復了一些錯誤或新功能,您仍然會使用舊版本。只要你意識到這種分歧,你應該沒問題。 – OdatNurd