Shell
Ksh 功能併入 Zsh?
一段時間以來,我一直是 Bash 的使用者。我現在至少想學習另一種 shell,所以我一直在學習 Korn Shell。然而,看起來 Ksh 近 20 年來沒有進行過重大更新,而且我讀到 Zsh 包含了它的功能。我一直在閱讀 StackExchange 網路上的許多 shell 比較問題,但還沒有找到答案:*Zsh 沒有包含 Korn Shell 的功能嗎?*如果是這樣,它們是什麼?
這是關於命令 shell 比較的 Wikipedia 文章。
據此,ksh 具有 zsh 沒有的唯一功能是使用者定義的“類型”的****命名參數。可能還有其他文章,因為該文章不是詳盡的列表,尤其是對於晦澀的功能。
往另一個方向走,你的問題的答案可能會寫滿一本書(可能是這本書)。
Zsh 有許多 ksh 沒有的特性。一些流行的是命令堆棧、目錄堆棧、歷史共享和rprompt。
- 命令堆棧是當你輸入一個命令並且你意識到你應該先執行另一個命令時。只需將目前行發送到命令堆棧,執行另一個命令,然後將命令從堆棧中彈出。您可以多次執行此操作。(zsh 是我所知道的唯一提供此功能的 shell)。
- 目錄堆棧(又名
pushd
/popd
)是當您想要連續更改目錄然後 cd 以相反順序返回時。(許多 shell 都提供此功能,包括 bash)。- 歷史共享是每個打開的 shell 共享一個共同歷史的地方。在一個視窗中執行命令,切換到另一個視窗,它將在您的歷史記錄中可用。
- rprompt就像你的提示一樣,除了它是正確的。很多人喜歡把
cwd
ordate
放在rprompt
.以下是 Stack Exchange 網站上關於 zsh 的一些討論: