Un*x 是否有任何眾所周知且使用廣泛的 shell 腳本 IDE?
是否有任何針對 shell 腳本的 IDE,特別是 bash 和 zsh 腳本?這意味著為 shell 腳本提供語法高亮顯示,更重要的是調試環境具有斷點、變數檢查和修改等功能,就像 Python、Java 和 C 等正常程式語言一樣。
例如,Microsft Windows Powershell具有 Powershell Plus和PowerGui等 IDE 。
Google搜尋結合了ShellEd,一個用於編輯 shell 腳本的 Eclipse 外掛,以及 BashEclipse,一個與 ShellEd 一起工作的 Bash 調試器;我還沒試過。
是否還有其他類似於此組合的用於 Un*x 的 shell 腳本 IDE?有人對他們有經驗嗎?
我不會說它是眾所周知的或被廣泛使用的,但你可能會看看basheclipse:
我必須承認我沒有使用 basheclipse 的經驗,甚至由於 eclipse 版本不匹配而無法安裝它。
另一方面,我正在使用 bash 和 ksh93 特定的調試功能,尤其是
trap ERR
andtrap DEBUG
,但不是基於它們的調試器kshdb和bashdb
一個專門建構的 IDE 會破壞 shell 腳本的目的,更不用說這幾乎是不可能的,因為 shell 所做的大部分工作都是呼叫外部命令——你如何調試它?使用檢查點進行調試對於 shell 來說是違反直覺的——shell 腳本通常對文件進行大量操作,因此每次呼叫都會產生破壞性的副作用。Scripting BY DESIGN 逐行工作,因此您的“環境”實際上就是終端本身——您始終可以回顯變數,您的環境始終為您服務,沒有您必須中斷的“規定流程”。你逐步地做任何你想做的事,一行一行地測試你是否得到了你想要的東西,然後將這些行粘貼到一個腳本中以再次使用。
對於完全合格的腳本語言(Python、Perl 等),您確實擁有所有這些,但 bash/zsh/ksh/… 是其他命令的互動式“粘合劑”,並且是它們自己的調試器。
但是,大多數文本編輯器會為您突出顯示程式碼,並且
emacs
(只要您找到正確的包,我從不為 shell 腳本這樣做)提供可程式的關鍵字完成。我相信vi
也可以做到這一點(請不要在這裡開始一場激烈的戰爭)。