文 | 諸葛運帷 豹頭環眼的飛哥
Shell是什麼?它是怎麼來的?
好像幾乎沒有人能很清晰的解答這個問題。有人說,Shell(又被稱為殼)是相對於Kernel(核)來說的。Kernel是作業系統的核心組件,它是作業系統程序的一部分,駐留在內存當中,處理應用程式與計算機硬體之間的交互。那麼Shell就是計算機用戶與應用程式之間的&34;for ~ do ~ done&34;for ~ in ~ do ~ done&34;case ~ in ~ esac& as comment character – System III shell (1981)
Colon in parameter substitutions &34; – System III shell (1981)
continue with argument – System III shell (1981)
cat <<-EOF for indented here documents – System III shell (1981)
Functions and the return builtin – SVR2 shell (1984)
Built-ins unset, echo, type – SVR2 shell (1984)
Source code de-ALGOL68-ized – SVR2 shell (1984)
Modern &34; – SVR3 shell (1986)
Built-in getopts – SVR3 shell (1986)
Cleaned up parameter handling allows recursively callable functions – SVR3 shell (1986)
8-bit clean – SVR3 shell (1986)
Job control – SVR4 shell (1989)
Multi-byte support – SVR4 shell (1989)
從Bourne shell開始,Shell「市場」開始了百家爭鳴時代。這裡面包括Korn shell(ksh)、Almquist shell (ash)以及最著名的Bourne Again Shell (or Bash)。一個比較個別的shell產品是C shell (csh),它讓Shell的腳本看上去更像用C語言編寫。下圖是Shell的族譜。
參考資料
https://www.multicians.org/mgs.html
https://developer.ibm.com/technologies/linux/tutorials/l-linux-shells/#artrelatedtopics
http://linuxcommand.org/lc3_adv_othershells.php
運維就是服務的創造者和維護者!
IT運維之眼-「諸葛運帷」 業務級運維監控管理平臺,企業端到移動端的運維監控整體解決方案。系統以業務系統監控為主線,基於「業務、軟體、網絡、設備、動環」多個監控視角的運維體系架構,打造了一個多維度可視化的綜合運維監控管理平臺。系統以故障提前預警、問題快速定位為核心。切實保障信息系統的安全穩定運行。