shell編程(一):初識shell

1、shell概述

在瞭解shell之前,先了解一下操作系統(Operating System,OS),操作系統是位於計算機硬件之上的第一層軟件,所有其他軟件都要在操作系統的支持下才能運行。操作系統與硬件離的最近的那一部分稱爲操作系統內核(Kernel),它是操作系統最內側部分,它的存在使得硬件和軟件之間的通信得以順利進行;操作系統最外側部分就是shell,shell包裹着操作系統“精密的”內部使其免受意外之損,這也是shell名字的來由。
shell是一種程序,它爲用戶提供了與操作系統交互的接口。當用戶登錄或打開終端或打開控制檯窗口後,操作系統爲用戶啓動shell。

2、shell的種類

shell種類有很多,常見的有:

2.1、The Bourfne Shell

這種shell由貝爾實驗室Steve Bourne開發,是最早的UNIX shell。它因體積小速度快的特點成爲shell編程中的首先shell。這種shell的缺點是它缺少交互式使用的特點,比如不能重新調用歷史命令,也缺少內置的算術運算和邏輯表達式處理能力。
Bourne shell是Solaris操作系統中默認的shell,它還有如下特徵:

  • 命令全路徑名是/bin/sh和/sbin/sh
  • 非root用戶下默認提示符是$
  • root用戶下默認提示符是#

2.2、The C Shell

該shell由加州大學伯克利分校的Bill Joy開發,是對原有UNIX shell的增強。引入的特性包括交互式使用,比如別名和歷史命令。引入了便捷的編程特性,比如內置算術運算和類C表達式語法。它還有如下特徵:

  • 命令全路徑是/bin/csh
  • 非root用戶下默認提示符是主機名+%
  • root用戶下默認提示符是主機名+#

2.3、The Korn Shell

該shell有貝爾實驗室David Korn開發,是Bourne Shell的超集,支持Bourne Shell的一切語法特性,擁有可與C shell相媲美的交互式特性,包括內置算術運算、類C數組、函數和字符串處理的特色,比C shell更快,兼容由Bourne shell編寫的腳本。它還有如下特徵:

  • 命令全路勁是/bin/ksh
  • 非root用戶下默認提示符是$
  • root用戶下默認提示符是#

2.4、The GUN Bourne-Again Shell

該sehll兼容Bourne shell,從C shell和Korn shell中引入了新特性,可以使用方向鍵映射到命令以便重調或編輯。它還有如下特徵:

  • 命令全路徑是/bin/bash
  • 非root用戶下默認提示符是bash-x.xx$,x.xxx暗示了shell版本號
  • root用戶下默認提示符是bash-x.xx%,x.xx同樣暗示了shell版本號

2.5 下面以表格形式對比一下上面四種shell:

Shell Path 默認提示符(non-root) 默認提示符(root)
The Bourne Shell(sh) /bin/sh and /sbin/sh $ #
The C Shell(csh) /bin/csh % #
The Korn Shell(ksh) /bin/ksh $ #
The GUN Bourne-Again Shell(Bash) /bin/bash bash-x.xx$ bash-x.xx#

shell的種類還有很多,其中GUN Bourne Again Shell(Bash)使用非常廣泛,因此本教程將重點介紹Bash。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章