什麼是shell?
shell的中文意思就是貝殼,其實比較類似於我們核心的殼。簡而言之就是只要能夠操作應用程式的介面都能夠稱為shell。狹義的shell指的是命令列方面的軟體,廣義的shell則包括圖形介面。
shell的版本
在鳥哥的私房菜的一書中,介紹了unix的版本以及眾多的shell版本。
早在unix年代,發展者眾多,所以由於shell依據發展者的不同就有許多版本,比如sh,c shell,k shell,還有tcsh等,每一種shell都各有特點。當然也有我們的bash,bash這個shell是bourne shell的增強版本,也是基於gnu的架構下發展出來的。
sh和bash的區別
因為bash是sh的增強版本,在我們平常實地操作的時候如果sh這個命令不靈了我們應當使用bash。
舉個例子來說如果我們使用數字的加減
有幾種不同的版本,
#! /bin/bashno1=4
no2=5
let no1++let result=no1+no2
echo
$result
result=$[no1+no2]
echo
$result
result=$[$no1+5
]echo
$result
result=$((no1+50
))echo
$result
如果使用sh則輸出
test3.
sh: 4: test3.sh
: let: not found
test3.
sh: 5: test3.sh
: let: not found
$[no1+no2]
$[4+5
]54
可以看見sh不僅不支援多種命令,而且很多細小的差別。
所以其實我們應該更多的使用bash,也就是./xx.sh,前提是修改許可權,chmod a+x xx.sh。
linux shell 之 sh與bash區別
在shell指令碼的開頭往往有一句話來定義使用哪種sh直譯器來解釋指令碼。1 bin sh 2 bin bash 二者區別如下 1.新建test.sh指令碼內容如下 bin sh source pcy.sh pcy.sh並不存在 echo hello 執行.test.sh,螢幕輸出為 test.sh...
Linux中的Shell bash和sh區別
shell 中文意思貝殼,寓意類似核心的殼。shell是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 指令碼 shell ...
shell指令碼中source和sh的區別
在當前shell下定義乙個變數 var1 var1 defined in shell 在指令碼中輸出上面定義的變數,然後再定義乙個新的變數 cat eof script.sh echo var1 var2 var var2 defined in the script.sh eof echo var1...