shell是一門腳本語言,即shell腳本,shell也是解釋執(zhí)行的腳本語言,可直接調(diào)用Linux命令,所以它在Linux系統(tǒng)中有著非常重要的作用。那么Linux
成都創(chuàng)新互聯(lián)公司專注于江北企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。江北網(wǎng)站建設(shè)公司,為江北等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
shell有哪些類型?我們來看看吧。
shell腳本語言是弱類型語言,無需定義變量的類型就可使用,主要有兩大類:bourne shell、C shell。
第一種:Bourne shell
Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again
Shell(bash)三種類型。
Bourne shell (sh)由ATT的Steve Bourne開發(fā),是標準的UNIX Shell,很多UNIX系統(tǒng)都配有sh。
Korn shell (ksh)由David Korn開發(fā),是Bourne
shell(sh)的超集合,并且添加了csh引入的新功能,是目前很多UNIX系統(tǒng)標準配置的Shell,在這些系統(tǒng)上的/bin/sh往往是指向/bin/ksh的符號鏈接。
Bourne Again
Shell即bash由GNU項目組開發(fā),主要目標是與POSIX標準保持一致,同時兼顧對sh的兼容,bash從csh和ksh借鑒了很多功能,是各種Linux發(fā)行版默認配置的Shell,在Linux系統(tǒng)上的/bin/sh往往是指向/bin/bash的符號鏈接。雖然如此,bash和sh還是有很多的不同,一方面,bash擴展了一些命令和參數(shù),另一方面,bash并不完全和sh兼容,它們有些行為并不一致,但大多數(shù)企業(yè)運維的情況下區(qū)別不大,特殊場景可以使用bash替代sh。
第二種:C shell
C shell又包括csh、tcsh兩種類型。
csh由Berkeley大學開發(fā),隨BSD UNIX發(fā)布,它的流程控制語句很像C語言,支持很多Bourne
Shell所不支持的功能,例如:作業(yè)控制、別名、系統(tǒng)算術(shù)、命令歷史、命令行編輯等。
tcsh是csh的增強版,加入了命令補全等功能,在FreeBSD、Mac OS X等系統(tǒng)上替代了csh。
以上介紹的這些Shell中,較為通用的是標準的Bourne shell (sh)和C shell (csh)。其中Bourne shell
(sh)已經(jīng)被Bourne Again shell (bash) 取代。
可通過以下命令查看CentOS7系統(tǒng)的Shell支持情況。
[root@oldboy ~]# cat /etc/shells
/bin/sh #==這是Linux里常用的Shell,指向/bin/bash。
/bin/bash #==這是Linux里常用的Shell,也是默認使用的Shell。
/usr/bin/sh
/usr/bin/bash
Linux系統(tǒng)中的主流Shell是bash,bash是由Bourne
Shell(sh)發(fā)展而來的,但bash還包含了csh和ksh的特色,但大多數(shù)腳本都可以不加修改地在sh上運行,如果你使用sh后發(fā)現(xiàn)結(jié)果和預(yù)期有差異,那么可以嘗試使用bash替代sh。
Shell是Linux系統(tǒng)的外殼,它是用戶和Linux操作系統(tǒng)之間的接口,并且具有很多種類型。那么什么是Shell?Shell分為哪幾類?linux
Shell有什么特性?我們來看看具體的內(nèi)容介紹。
什么是Shell?
Shell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一個命令語言,又是一個程序設(shè)計語言。作為命令語言,它交互式地解釋和執(zhí)行用戶輸入的命令;作為程序設(shè)計語言,它定義了各種變量和參數(shù),并提供了許多在高級語言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支。
Shell是一個應(yīng)用程序,是用戶管理應(yīng)用程序的一個接口。
廣義上Shell的分類?
GUI:圖形用戶界面,KDE、GNOME、XFCE。
CLI:命令行接口,bash、zsh、fishsh、csh、tcsh、ksh。
linux Shell有什么特性?
Shell是一個簡單得腳本語言,適合自動化命令執(zhí)行。
Shell是Linux系統(tǒng)必備的語言,我們操作Linux就是通過命令行bash解釋給系統(tǒng)的。
大多數(shù)應(yīng)用軟件的啟動和配置都是Shell腳本完成的。
要想學好Linux,掌握shell是必不可少的。
shell就是是linux命令,簡單的說shell程序就是一個包含若干行shell或者linux命令的文件.
shell是linux命令集的概稱,是屬于命令行的人機界面。
1.shell翻譯成殼的意思,它是包裹在linux內(nèi)核外層的,一個可通過一系列的linux命令對操作系統(tǒng)發(fā)出相關(guān)指令的人機界面。 shell可以通過其條件語句和循環(huán)語句等,把一系列l(wèi)inux命令結(jié)合在一起,形成一個相當于面向過程的程序,shell script,來實現(xiàn)一些較為復(fù)雜的功能。
2.Shell 是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。? ? 由定義可知, shell相當于經(jīng)過裝飾的命令行,和命令行一樣,都能操作linux。但是shell是面向過程的,相當于有了一定的邏輯和過程,而命令行只是單一的操作。
3.shell可以重復(fù)執(zhí)行一些命令。你也可以把自己要重復(fù)執(zhí)行的命令寫到腳本里面執(zhí)行。而命令行的話就需要一個一個的輸入命令,相對而言麻煩一些。
4.shell版本:
BASH:是GNU的Bourne Again Shell,是GNU操作系統(tǒng)上默認的shell。
Korn Shell:是對Bourne SHell的發(fā)展,在大部分內(nèi)容上與Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you’ll ever need! Z是最后一個字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時又增加了自己獨有的特性。