CSH和BASH的區別


Linux是計算機愛好者中流行的作業系統。它是一個免費且開放的作業系統。Shell是我們用來控制作業系統的介面。Shell包括CSH和BASH。Shell充當程式設計師和裝置之間通訊的通道。我們發出命令並獲得結果。

C-shell以C程式設計語法命名。它的眾多優點之一是能夠控制作業。可以透過指令碼shell命令執行程式和互動式shell登入來訪問它。有時它可能不容易使用。Bash是一款類似於CSH的shell軟體。

Bourne shell被稱為最基本的shell。Bash是Bourne Shell的再次實現。Brian Fox編寫了Bash的程式碼。他結合了現有shell的一些缺點,併為Bash配備了獨一無二的shell軟體。它在計算機極客中廣為人知。

閱讀本文以瞭解更多關於CSH和BASH的資訊以及它們彼此之間的區別。

什麼是CSH?

CSH是C Shell的縮寫。Bill Joy在20世紀80年代初在加州大學伯克利分校學習期間設計了CSH Unix和Linux shell。CSH是一個命令列直譯器,允許使用者在計算機上執行應用程式和指令。CSH還包含用於編寫shell指令碼的程式語言。CSH建立在Bourne shell(最初的Unix shell)之上。

CSH的設計目的是比Bourne shell更易於使用,幷包含其他shell中沒有的程式設計功能。較新的shell,如Bash和ZSH,已經超越了CSH。它仍然在喜歡其簡單性和強大功能的開發人員中流行。

命令的框架以'%'提示符開頭,以D結尾,後跟'%'提示符。字母D表示指令已結束。引數跟隨命令。一個這樣的關鍵概念是標誌引數。它以'-'開頭。如果指定了命令,它還會指定檔案大小。

特殊字元經常被使用。它們在語義和語法上都描述了shell。我們可以檢查由'/'分隔的檔名。每個部分都顯示其在目錄中的位置。我們可以使用引號'*'。命令可以被終止。變數對每個shell都是唯一的。

什麼是BASH?

BASH是由Brian Fox在1980年開發的Linux和Unix shell。它在大多數Linux和Unix發行版中作為預設shell,開發人員和管理員主要依賴它。

BASH代表Bourne-Again Shell,它是Stephen Bourne最初的Unix shell(Bourne shell)的擴充套件。BASH具有Bourne shell不具備的許多功能,例如命令列編輯、歷史替換和配置檔案。BASH還支援變數、陣列和函式。BASH指令碼是可以用來自動執行任務的可執行檔案。BASH對於建立複雜的程式或僅僅是自動化重複性任務非常有用。

Bash是Bourne shell的一個精心設計的擴充套件。它是目前最常用的shell。有一些預設命令,例如在終端中鍵入date來獲取日期資訊。如果你鍵入“cal”(calendar),你將獲得日曆資訊作為輸出。

“pwd”是列印工作目錄的縮寫。當你使用此命令時,你將獲得關於你當前工作目錄的資訊。“ls”顯示關於你當前正在處理的檔案、郵件和資料夾的資訊(列表儲存是“ls”)。它使你可以訪問你主目錄中的資料。

CSH和BASH的區別

下表重點介紹了CSH和BASH的主要區別:

特性

CSH

BASH

定義

C-Shell命令以'#'開頭。

Bourne Again Shell以'$'開頭。

終端

CSH代表互動式終端。

Bash被認為是非互動式的。

開發者

Bill Joy提出了CSH。

Brian Fox重新建立了Bash的概念。

年份

CSH首次應用於20世紀70年代。

Bash成立於1989年。

難度

CSH的難度級別為中等。

BASH的難度級別為初級。

結論

CSH和BASH是使用最廣泛的Unix和Linux shell。兩者都具有不同的特性和語法,這可能會讓不熟悉shell程式設計的使用者感到困惑。CSH是一個C風格的shell。因此,其語法基於C程式語言。CSH還支援變數、流程控制和作業控制。

BASH是一個與Bourne-shell相容的shell。其語法基於Bourne shell,但它已經被升級,包含了命令列編輯、擴充套件萬用字元和改進的訊號處理等功能。CSH更適合互動式使用,而BASH更適合shell指令碼。

更新於:2023年3月2日

5K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告