如果您已經使用Linux很長時間了,那麼毫無疑問,您已經在論壇和文章中看到了Bash這個詞。它有時看起來像是終端的同義詞,但是Bash和終端模擬器絕對是兩個不同的應用程式。那麼Bash到底是什麼呢?在這篇短文中,我們將探討Bash是什麼,它做什麼,以及如何開始使用它。
Bash這個名字是Bourne SHell的縮寫,是對stephenbourne這個名字的雙關語,stephenbourne是Bash的前身之一的創造者。第一個測試版是1989年釋出的,在撰寫本文時,它的最新更新是在2020年12月:5.1版。
Bash是最流行的shell語言之一,以其強大功能和使用者友好命令的結合而聞名。這就是它在Linux發行版中如此豐富的原因。
Bash不僅在Linux上執行,而且在macOS和BSD上也可以使用,您可以透過Windows Subsystem for Linux在Windows上使用它。
閱讀更多:如何在windows10上獲得Linux Bash Shell
但要真正定義Bash,我們必須理解shell是什麼。
shell是一個應用程式,它接受使用者的輸入並執行相應的操作,通常與核心通訊以實現該操作。這樣,它就像核心周圍的一個“殼”。
雖然shell確實透過命令啟動其他應用程式,但它們本身也通常具有互動功能。
例如,當您開啟一個Linux終端並按下向上箭頭按鈕來檢索最後發出的命令時,這是Bash應用程式的一個功能。用於更改目錄的cd命令是另一個非常常見的Bash命令。
除了作為一個互動式應用程式,Bash還是一種指令碼語言。實際上,您的Linux作業系統在啟動過程中使用了許多Bash指令碼來啟動各種程序。
在幾乎所有Linux系統中,只要您使用終端,就可以隨時使用Bash。
您可以使用此命令確認,該命令返回正在使用的shell的名稱:
echo $0你應該只得到bash這個詞。如果這樣做,您可以看到與此命令一起使用的Bash版本:
bash --version您的螢幕應類似於:
然而,在終端中發出單個命令只是Bash使用的開始。
像作業系統使用的那些指令碼一樣,您可以學習編寫Bash指令碼,在您的Linux PC上自動執行您經常手動執行的過程。一個熟練的Bash指令碼編寫者一天可以自動完成數百個任務!
那你怎麼學Bash呢?
透過編寫指令碼,可以自己編寫,也可以在指導下編寫,比如在Bash課程中。
對於遊戲玩家來說,你也可以透過玩Bash遊戲來學習。一個例子是bashclawl,一個基於文字的地牢爬蟲,它強迫你學習和呼叫Bash命令來在遊戲中前進。
我們這裡也有關於如何利用的文章,這些文章將訓練您成為一個更好的Bash指令碼編寫者。例如,我們可以向您展示如何在Bash中編寫for迴圈,或者將您的指令碼轉換為可單擊的應用程式。
我們已經瞭解了Bash是什麼,它的歷史,以及如何讓它為您工作。
不過,學習Bash只是充分利用Linux作業系統的一部分。要成為一個Linux超級使用者,你還可以學到很多東西。
... 既然您已經知道了shell指令碼是什麼以及它們的許多優點,您不想在任務中使用它們嗎?您在使用它們時遇到了哪些問題?請在下面的評論中告訴我們。 ...
...。一路上,你遇到了一個有趣的名字:GNU/Linux。這些字母是什麼意思,為什麼人們總是把它們附加到Linux上?我可以回答這個問題,同時,我也會把你帶到一場在Linux世界持續了幾十年的爭論當中。 ...
... 從bash是什麼、不同的模式(互動式和非互動式)以及它是如何產生的基礎知識開始,這個站點提供了一個全面的背景知識來幫助您理解命令列的機制。 ...
... 大多數人從不安裝作業系統。他們甚至可能不知道自己是什麼。這使得安裝Linux的想法變得更加難以理解。 ...
... 您當前在Windows上使用Bash的目的是什麼?你在Windows上執行Bash嗎?請在下面的評論部分告訴我們! ...
... 什麼是linux的windows子系統(the windows subsystem for linux)? ...
受限的shell限制了使用者帳戶在Linux上可以做什麼。受限使用者不能更改其目錄,您可以控制他們可以訪問哪些命令。下面介紹如何在Linux上設定受限shell。 受限炮彈 受限shell不是另一個shell。這是標準外殼的另一種模式。Bash...