Korn Shell與Bash Shell的區別


David Korn開發了Korn Shell命令,開發人員使用它來建立新的shell命令。Freeware Software開發了Bash Shell,這是一個免費的開源指令碼,計算機使用者可以使用它。在本文中,我們將討論Korn shell和Bash shell之間的區別。

Korn Shell

Korn shell是Unix作業系統的命令,由David Korn在貝爾實驗室開發。shell程式是一個命令,它透過與作業系統互動來執行不同型別的指令碼。Korn shell是一個可以在不同型別的作業系統上執行的指令碼。Korn shell也稱為KornShell,它開發於1983年,並擁有自己的指令碼語言。

它包含C Shell和Bourne Shell。C Shell由加州大學的Bill Joy開發。Stephen Bourne是貝爾實驗室的Bourne Shell的開發者。David Korn開發的Korn Shell比C Shell和Bourne Shell更好。

Korn Shell的歷史

Korn shell在1986年和1993年進行了更新。此更新改進了Korn shell的效能,因為它包含了許多功能,如下所示:

  • 改進了輸入和輸出功能
  • 它還支援陣列
  • 改進了命令歷史支援
  • 改進了對shell函式和別名的支援
  • 增強了模式匹配和子串功能

朗訊和AT&T在1993年擁有Korn shell,但後來它成為開源軟體,因為其程式碼是在Eclipse公共許可證下發布的。Korn shell用於Unix和Linux作業系統,但現在許多使用者開始偏好Bash Shell。

Korn Shell的功能

Korn Shell具有許多功能,這裡將討論這些功能。

  • 作業控制 - Korn shell幫助使用者管理和操作正在執行的程序,因為它具有作業控制功能。
  • 高階I/O重定向 - 在Korn shell中可以輕鬆執行高階I/O重定向。使用者可以在重定向輸出檔案的同時檢視它。
  • 命令列編輯 - Korn shell中提供了命令列編輯功能。因此,以前輸入的命令可以輕鬆編輯。
  • 算術運算 - 算術運算內置於Korn shell中,因此可以輕鬆執行數學計算。
  • 變數 - Korn shell也支援引數擴充套件和變數。很容易在shell中修改變數。

Korn Shell的優點

Korn shell有很多優點,其中一些列在下面:

  • 在執行指令碼和命令時,其效能更好
  • 它優於Bash,因為它具有更多程式設計功能
  • 迴圈處理良好

Korn Shell的缺點

Korn shell有一些缺點,列在下面:

  • 它是一箇舊指令碼,因此只有少量資源可用
  • 閱讀指令碼很困難
  • 社群追隨者數量非常少

Bash Shell

Bash Shell也稱為Bourne Again Shell,由Freeware Software的Stephen Bourne開發。GNU組織為Bash shell提供了許可證,現在它對公眾可用,因為它已成為免費的開源軟體。其他shell的語法可以輕鬆地在Bash shell上執行。

Bash Shell的歷史

Brian Fox於1987年建立了Bash shell,以取代Stephen Bourne開發的原始Bourne shell,後者作為GNU專案開發。Bash shell可以用於Unix的不同環境。Korn shell和C shell的功能也可以在Bash shell中使用。它具有命令列編輯功能,並且還提供了大量內建命令。

Bash Shell的功能

Bash shell具有許多功能,我們將在此處詳細討論它們。

  • 命令列編輯 - Bash shell包含強大的命令列編輯功能。它還包含歷史記錄、製表符補全和Vi編輯功能。
  • 可程式設計補全 - 使用者可以定義自定義補全函式,以便可以透過複雜的命令輕鬆導航命令和引數。
  • 程序替換 - 程序替換是另一個強大的功能,它有助於將命令的輸出視為檔案。
  • 大括號擴充套件 - Bash shell也支援大括號擴充套件,這有助於使用者使用單個命令生成大量檔名和命令引數。
  • shell函式 - bash shell中也提供shell函式,可用於建立和呼叫自定義函式。

Bash Shell的優點

Bash Shell有很多優點,其中一些列在下面:

  • Bash shell啟動速度快
  • 提供互動式除錯
  • 可以輕鬆編寫shell指令碼

Bash Shell的缺點

Bash Shell有一些缺點,列在下面:

  • Bash shell執行速度慢
  • Bash shell包含設計和實現缺陷

Korn Shell與Bash Shell的區別

Korn shell和Bash shell有很多區別,如下表所示:

Korn Shell Bash Shell
Korn shell儲存為.ksh Bash shell儲存為.sh
Korn shell路徑為/bin/ksh bash shell路徑為/bin/sh
Korn直譯器的尺寸為1.6MB Bash直譯器的尺寸為1.1 MB
在Korn shell中使用print命令列印訊息 在Bash shell中使用echo命令列印訊息
Korn shell的迴圈處理更好 相比之下,Bash shell的迴圈處理不好
Korn shell由David Korn開發 Bash shell由Freeware Software Foundation開發
Korn shell的使用者數量較少 相比之下,Bash shell的使用者數量更多
由於舊語法,Korn shell指令碼的可讀性較差 由於新語法,指令碼的可讀性相對較好
Korn shell具有更好的程式設計功能 Bash shell中的程式設計功能相對較差

結論

Korn Shell和Bash Shell都很流行,但它們有一些區別。Korn shell是一種舊語法,與Bash Shell相比,其指令碼的可讀性較差。Korn shell命令的處理速度比Bash shell快。還有許多其他區別,但目前Bash shell的使用比Korn shell多。

關於Korn Shell與Bash Shell的常見問題

常見問題1. Korn Shell和Bash Shell在哪裡使用?

Korn shell用於舊系統,而Bash shell用於現代系統。

常見問題2. Korn Shell和Bash Shell哪個功能更好?

Bash shell的功能更好,因為它具有命令列編輯和製表符補全功能。Korn shell也具有命令列編輯功能,但不提供製表符補全功能。

常見問題3. 哪個shell向後相容?

Bash shell向後相容Bourne shell,因此指令碼可以輕鬆執行而無需修改。Korn shell與Bourne shell不完全相容。

常見問題4. Korn Shell和Bash Shell的副檔名是什麼?

Korn shell的副檔名為.ksh,bash shell的副檔名為.sh。

常見問題5. 在Korn Shell和Bash Shell中使用哪個命令來列印訊息?

在Korn shell中使用print命令,在Bash shell中使用echo命令來列印訊息。

更新於:2024年7月1日

瀏覽量:135

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.