shell和shell腳本 有什么區(qū)別啊

shell和shell腳本 有什么區(qū)別啊

\”shell\” 和 \”shell script\” 是計(jì)算機(jī)領(lǐng)域的兩個(gè)術(shù)語,它們之間有一些區(qū)別。

Shell:這是一種解釋型的命令行界面,是操作系統(tǒng)的一個(gè)外殼。

它允許用戶通過命令行來執(zhí)行操作系統(tǒng)的各種任務(wù),如執(zhí)行命令、管理文件、運(yùn)行程序等。

Shell script:這是一種使用 shell 語言編寫的腳本。它允許用戶在 shell 環(huán)境中使用腳本語言自動(dòng)執(zhí)行一系列命令和任務(wù),以完成一個(gè)特定的任務(wù)。
總的來說,shell 是一種命令行界面,而 shell script 則是一種使用 shell 語言的腳本,它可以在 shell 環(huán)境中執(zhí)行。

linux中shell分多少種,都有什么區(qū)別

Shell是一種腳本語言,那么,就必須有解釋器來執(zhí)行這些腳本,常見的腳本解釋器有:
bash:是Linux標(biāo)準(zhǔn)默認(rèn)的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內(nèi)部命令一共有40個(gè)。

sh: 由Steve Bourne開發(fā),是Bourne Shell的縮寫,sh 是Unix 標(biāo)準(zhǔn)默認(rèn)的shell。

另外還有:ash、 csh、 ksh等。

擴(kuò)展資料:
常見的編程語言分為兩類:一個(gè)是編譯型語言,如:c/c++/java等,它們遠(yuǎn)行前全部一起要經(jīng)過編譯器的編譯。另一個(gè)解釋型語言,執(zhí)行時(shí),需要使用解釋器一行一行地轉(zhuǎn)換為代碼,如:awk, perl, python與shell等。
Shell 經(jīng)過了POSIX的標(biāo)準(zhǔn)化,所以它是可以在不同的linux系統(tǒng)上進(jìn)行移植。

shell與Linux命令的區(qū)別是什么?

shell翻譯成殼的意思,它是包裹在Linux內(nèi)核外層的,一個(gè)可通過一系列的Linux命令對(duì)操作系統(tǒng)發(fā)出相關(guān)指令的人機(jī)界面。shell可以通過其條件語句和循環(huán)語句等,把一系列Linux命令結(jié)合在一起,形成一個(gè)相當(dāng)于面向過程的程序,即shell script,從而實(shí)現(xiàn)一些復(fù)雜的功能。

shell可以說是Linux命令集的概稱,屬于命令行的人機(jī)界面。

shell是一個(gè)用C語言編寫的程序,它是用戶使用Linux的橋梁。shell既是一個(gè)命令語言,也是一個(gè)程序設(shè)計(jì)語言;其次,shell也指一種應(yīng)用程序,這個(gè)應(yīng)用程序提供了一個(gè)界面,用戶通過這個(gè)界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。
由此可見,shell相當(dāng)于經(jīng)過裝飾的命令行,它與命令行一樣,都能操作Linux;但是shell是面向過程的,相當(dāng)于有了一定的邏輯和過程,而命令行只是單一的操作。
linux命令是對(duì)Linux系統(tǒng)進(jìn)行管理的命令。

對(duì)于Linux系統(tǒng)來說,無論是**處理器、內(nèi)存、磁盤驅(qū)動(dòng)器、鍵盤、鼠標(biāo),還是用戶等都是文件,Linux系統(tǒng)管理的命令是它正常運(yùn)行的核心,與之前的DOS命令類似。linux命令在系統(tǒng)中有兩種類型:內(nèi)置Shell命令和Linux命令。
shell與linux命令的區(qū)別
1、直接在命令行執(zhí)行,就是在當(dāng)前的shell環(huán)境下執(zhí)行,比如涉及到一些環(huán)境變量的時(shí)候,必須在當(dāng)前shell環(huán)境里執(zhí)行。

2、在腳本執(zhí)行的話,會(huì)fork一個(gè)子進(jìn)程,所有操作都在子進(jìn)程中進(jìn)行。如果涉及到一些在腳本里設(shè)置環(huán)境變量的東西,腳本結(jié)束了,環(huán)境變量就消失了,如果是修改環(huán)境變量的話,需要特別注意。
3、shell可以重復(fù)或批量地進(jìn)行一些命令,你也可以把自己要重復(fù)執(zhí)行的命令寫到腳本里面執(zhí)行,而命令行的話就需要一個(gè)一個(gè)的輸入命令,比較麻煩。

Shell腳本的概念區(qū)別

Shell:Shell是一種程序設(shè)計(jì)語言。作為命令語言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動(dòng)地解釋和執(zhí)行預(yù)先設(shè)定好的一連串的命令;作為程序設(shè)計(jì)語言,它定義了各種變量和參數(shù),并提供了許多在高級(jí)語言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支腳本:腳本,是使用一種特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件,又稱作宏或批處理文件。

Shell腳本:shell腳本(shellscript)就像早期dos年代的.bat,最簡(jiǎn)單的功能就是將許多指令匯整寫一起,讓使用者很容易地就能夠一個(gè)操作執(zhí)行多個(gè)命令,而shellscript更是提供了數(shù)組,循環(huán),條件以及邏輯判斷等重要功能,讓使用者可以直接以shell來寫程序,而不必使用類似C程序語言等傳統(tǒng)程序編寫的語法。

shell和shell腳本區(qū)別:1.Shell就是一個(gè)命令行解釋器,它的作用就是遵循一定的語法將輸入的命令加以解釋并傳給系統(tǒng)??梢杂肧hell來啟動(dòng)、掛起、停止甚至是編寫一些程序。2.Shell本身是一個(gè)用C語言編寫的程序,它是用戶使用Linux的橋梁。3.Shell既是一種命令語言,又是一種程序設(shè)計(jì)語言(就是所說的shell腳本)。

shell命令分為哪兩種,它們之間的區(qū)別是什么?

shell命令顧名思義,是linux下的外殼程序,基本相當(dāng)于windows下的exlpore。shell是用戶和Linux操作系統(tǒng)之間的接口。

Linux中有多種shell,其中缺省使用的是Bash。

本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的特性。什么是shellLinux系統(tǒng)的shell作為操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設(shè)計(jì)語言的統(tǒng)稱。shell是用戶和Linux內(nèi)核之間的接口程序,如果把Linux內(nèi)核想象成一個(gè)球體的中心,shell就是圍繞內(nèi)核的外層。

當(dāng)從shell或其他程序向Linux傳遞命令時(shí),內(nèi)核會(huì)做出相應(yīng)的反應(yīng)。shell是一個(gè)命令語言解釋器,它擁有自己內(nèi)建的shell命令集,shell也能被系統(tǒng)中其他應(yīng)用程序所調(diào)用。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux核心。

Shell是一種具備特殊功能的程序, 它是介于使用者和 UNIX/linux 操作系統(tǒng)之核心程序(kernel)間的一個(gè)接口。為什么我們說 shell 是一種介于系統(tǒng)核心程序與使用者間的中介者呢?讀過操作系統(tǒng)概論的讀者們都知道操作系統(tǒng)是一個(gè)系統(tǒng)資源的管理者與分配者,當(dāng)您有需求時(shí),您得向系統(tǒng)提出;從操作系統(tǒng)的角度來看,它也必須防止使用者因?yàn)殄e(cuò)誤的操作而造成系統(tǒng)的傷害?眾所周知,對(duì)計(jì)算機(jī)下命令得透過命令(command) 或是程序(program);程序有編譯器(compiler)將程序轉(zhuǎn)為二進(jìn)制代碼,可是命令呢?其實(shí)shell 也是一支程序,它由輸入設(shè)備讀取命令百科,再將其轉(zhuǎn)為計(jì)算機(jī)可以了解的機(jī)械碼,然后執(zhí)行它。各種操作系統(tǒng)都有它自己的 shell,以 DOS 為例,它的 shell 就是 command.com文件。

如同 DOS 下有 NDOS,4DOS,DRDOS 等不同的命令解譯程序可以取代標(biāo)準(zhǔn)的command.com ,UNIX 下除了 Bourne shell(/bin/sh) 外還有 C shell(/bin/csh)、Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh)等其它的 shell。UNIX/linux將 shell 獨(dú)立于核心程序之外, 使得它就如同一般的應(yīng)用程序, 可以在不影響操作系統(tǒng)本身的情況下進(jìn)行修改、更新版本或是添加新的功能。有一些命令,比如改變工作目錄命令cd,是包含在shell內(nèi)部的。

還有一些命令,例如拷貝命令cp和移動(dòng)命令rm,是存在于文件系統(tǒng)中某個(gè)目錄下的單獨(dú)的程序。對(duì)用戶而言,不必關(guān)心一個(gè)命令是建立在shell內(nèi)部還是一個(gè)單獨(dú)的程序。shell首先檢查命令是否是內(nèi)部命令,若不是再檢查是否是一個(gè)應(yīng)用程序(這里的應(yīng)用程序可以是Linux本身的實(shí)用程序,如ls和rm,也可以是購(gòu)買的商業(yè)程序,如xv,或者是自由軟件,如emacs)。然后shell在搜索路徑里尋找這些應(yīng)用程序(搜索路徑就是一個(gè)能找到可執(zhí)行程序的目錄列表)。

如果鍵入的命令不是一個(gè)內(nèi)部命令并且在路徑里沒有找到這個(gè)可執(zhí)行文件,將會(huì)顯示一條錯(cuò)誤信息。如果能夠成功找到命令,該內(nèi)部命令或應(yīng)用程序?qū)⒈环纸鉃橄到y(tǒng)調(diào)用并傳給Linux內(nèi)核。shell的另一個(gè)重要特性是它自身就是一個(gè)解釋型的程序設(shè)計(jì)語言,shell程序設(shè)計(jì)語言支持絕大多數(shù)在高級(jí)語言中能見到的程序元素,如函數(shù)、變量、數(shù)組和程序控制結(jié)構(gòu)。shell編程語言簡(jiǎn)單易學(xué),任何在提示符中能鍵入的命令都能放到一個(gè)可執(zhí)行的shell程序中。

當(dāng)普通用戶成功登錄,系統(tǒng)將執(zhí)行一個(gè)稱為shell的程序。正是shell進(jìn)程提供了命令行提示符。作為默認(rèn)值(TurboLinux系統(tǒng)默認(rèn)的shell是BASH),對(duì)普通用戶用“$”作提示符,對(duì)超級(jí)用戶(root)用“#”作提示符。一旦出現(xiàn)了shell提示符,就可以鍵入命令名稱及命令所需要的參數(shù)。

shell將執(zhí)行這些命令。如果一條命令花費(fèi)了很長(zhǎng)的時(shí)間來運(yùn)行,或者在屏幕上產(chǎn)生了大量的輸出,可以從鍵盤上按ctrl+c發(fā)出中斷信號(hào)來中斷它(在正常結(jié)束之前,中止它的執(zhí)行)。當(dāng)用戶準(zhǔn)備結(jié)束登錄對(duì)話進(jìn)程時(shí),可以鍵入logout命令、exit命令或文件結(jié)束符(EOF)(按ctrl+d實(shí)現(xiàn)),結(jié)束登錄。