歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux Shell介紹

1.什麼是shell?
shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行。

實際上,shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。

2.shell類型
2.1 Bourne Shell(簡稱,sh)
首個重要的標准Unix Shell是1970年底在V7 Unix(AT&T第7版)中引入的,並且以它的創始科技部基礎條件平台“國家氣象網絡計算應用節點建設”(2004DKA50730)資助者 Stephen Bourne的名字命名。Bourne shell 是一個交換式的命令解釋器和 命令編程語言。Bourne shell 可以運行為login shell或者login shell的子shell(subshell)。只有login命令可以調用Bourne shell作為一個login shell。此時,shell先讀取/etc/profile文件和$HOME/.profile文件。/etc/profile文件為所有的用戶定制環 境,$HOME/.profile文件為本用戶定制環境。最後,shell會等待讀取你的輸入。

2.2 C Shell(簡稱,csh)
Bill Joy於20世紀80年代早期,在Berkeley的加利福尼亞大學開發了C shell。它主要是為了讓用戶更容易的使用交互式功能,並把ALGOL風格的語法結構變成了C語言風格。它新增了命令歷史、別名、文件名替換、作業控制等功能。

2.3 Korn Shell(簡稱,ksh)
有很長一段時間,只有兩類shell供人們選擇,Bourne shell用來編程,C shell用來交互。為了改變這種狀況,AT&T的bell實驗室David Korn開發了Korn shell。ksh結合了所有的C shell的交互式特性,並融入了Bourne shell的語法。因此,Korn shell廣受用戶的歡迎。它還新增了數學計算,進程協作(coprocess)、行內編輯(inline editing)等功能。Korn Shell 是一個交互式的命令解釋器和命令編程語言.它符合POSIX——一個操作系統的國際標准.POSIX不是一個操作系統,而是一個目標在於應用程序的移植性的標准——在源程序一級跨越多種平台。

2.3 Bourne Again Shell(簡稱,bash)
bash是GNU計劃的一部分,用來替代Bourne shell。它用於基於GNU的系統如Linux.大多數的Linux(Red Hat,Slackware,Caldera)都以bash作為缺省的shell,並且運行sh時,其實調用的是bash。

2.4 POSIX Shell(簡稱,psh)
 POSIX shell 是Korn shell的一個變種. 當前提供POSIX shell的最大賣主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh。

各主要操作系統下缺省的shell:

AIX下是Korn Shell
Solaris,缺省的是Bourne shell
FreeBSD缺省的是C shell
HP-UX缺省的是POSIX shell
Linux是Bourne Again shell

3.什麼shell腳本?
shell腳本與Windows/Dos下的批處理相似,是一個包含命令序列的文本文件。

4.shell與shell腳本的區別?
shell:shell是一個命令解析器

shell:shell腳本是一個包含命令序列的文本文件

Shell編程淺析 http://www.linuxidc.com/Linux/2014-08/105379.htm 

Linux Shell參數替換 http://www.linuxidc.com/Linux/2013-06/85356.htm

Shell for參數 http://www.linuxidc.com/Linux/2013-07/87335.htm

Linux/Unix Shell 參數傳遞到SQL腳本 http://www.linuxidc.com/Linux/2013-03/80568.htm

Shell腳本中參數傳遞方法介紹 http://www.linuxidc.com/Linux/2012-08/69155.htm

Shell腳本傳遞命令行參數 http://www.linuxidc.com/Linux/2012-01/52192.htm

Linux Shell 通配符、轉義字符、元字符、特殊字符 http://www.linuxidc.com/Linux/2014-10/108111.htm

Copyright © Linux教程網 All Rights Reserved