SHELL基礎原理【博森瑞】_第1頁
SHELL基礎原理【博森瑞】_第2頁
SHELL基礎原理【博森瑞】_第3頁
SHELL基礎原理【博森瑞】_第4頁
SHELL基礎原理【博森瑞】_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

SHELL【博森瑞】一.SHELL究竟是什么?在計算機科學中,Shell俗稱殼(用來區(qū)別于核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command和后來的cmd.exe。它接收用戶命令,然后調(diào)用相應的應用程序。(請看畫圖板演示)同時它又是一種程序設計語言。作為命令語言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動地解釋和執(zhí)行預先設定好的一連串的命令;作為程序設計語言,它定義了各種變量和參數(shù),并提供了許多在高級語言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支。二.SHELL的種類BourneShell首個重要的標準UnixShell是1970年底在V7Unix(AT&T第7版)中引入的,并且以它的創(chuàng)始科技部基礎條件平臺“國家氣象網(wǎng)絡計算應用節(jié)點建設”(2004DKA50730)資助者StephenBourne的名字命名。Bourneshell是一個交換式的命令解釋器和命令編程語言。Bourneshell可以運行為loginshell或者loginshell的子shell(subshell)。只有l(wèi)ogin命令可以調(diào)用Bourneshell作為一個loginshell。此時,shell先讀取/etc/profile文件和$HOME/.profile文件。/etc/profile文件為所有的用戶定制環(huán)境,$HOME/.profile文件為本用戶定制環(huán)境。最后,shell會等待讀取你的輸入。CShellBillJoy于20世紀80年代早期,在伯克利的加利福尼亞大學開發(fā)了Cshell。它主要是為了讓用戶更容易的使用交互式功能,并把ALGOL風格的語法結(jié)構(gòu)變成了C語言風格。它新增了命令歷史、別名、文件名替換、作業(yè)控制等功能。KornShell有很長一段時間,只有兩類shell供人們選擇,Bourneshell用來編程,Cshell用來交互。為了改變這種狀況,AT&T的bell實驗室DavidKorn開發(fā)了Kornshell。ksh結(jié)合了所有的Cshell的交互式特性,并融入了Bourneshell的語法。因此,Kornshell廣受用戶的歡迎。它還新增了數(shù)學計算,進程協(xié)作(coprocess)、行內(nèi)編輯(inlineediting)等功能。KornShell是一個交互式的命令解釋器和命令編程語言.它符合POSIX——一個操作系統(tǒng)的國際標準.POSIX不是一個操作系統(tǒng),而是一個目標在于應用程序的移植性的標準——在源程序一級跨越多種平臺。BourneAgainShell(bash)bash是GNU計劃的一部分,用來替代Bourneshell。它用于基于GNU的系統(tǒng)如Linux.大多數(shù)的Linux(RedHat,Slackware,Caldera)都以bash作為缺省的shell,并且運行sh時,其實調(diào)用的是bash。POSIXShellPOSIXshell是Kornshell的一個變種.當前提供POSIXshell的最大賣主是Hewlett-Packard。在HP-UX11.0,POSIXshell就是/bin/sh,而bsh是/usr/old/bin/sh.AIX缺省的是KornShell.Solaris缺省的是Bourneshell.(這里指的是SUN-SOLARISV10)FreeBSD缺省的是CshellHP-UX缺省的是POSIXshell.Linux缺省的是BourneAgainshell.MACOS缺省的是BourneAgainshell.*ORACLE-SOLARISV11以后默認為BASH*各大系統(tǒng)使用SHELL的概覽三.我為什么要學SHELL?你是一個苦逼的DBA?。?!你每天要做很多重復的操作?。?!因此你身心俱疲?。?!情景一:你還是一個苦逼的DBA?。?!你要做你們公司數(shù)據(jù)庫的備份策略?。?!無論是物理備份(RMAN)還是邏輯備份(數(shù)據(jù)泵,EXP),你都志得意滿??墒峭蝗话l(fā)現(xiàn),你要把他變成定時任務卻是如此的困難!??!情景二:又是你!對沒錯又是你,你這個苦逼的DBA!!!你們數(shù)據(jù)庫每天都會有報錯,可是恰巧所有報錯發(fā)生時間,都被你巧妙的錯過了!你要在海量的日志中去搜索那個關(guān)鍵的點!因為,只是因為?。?!你沒有更好的手段,去做日志挖掘。情景三:好吧!我真的不想再說了,不過這次又是你!你個苦逼的DBA?。?!你要清理掉一些數(shù)據(jù)庫中的“垃圾”?。。〗Y(jié)果你卻因為你不懂正則表達式!而讓本是很簡單的工作變得充滿了變數(shù)和復雜不堪!這次看你咋辦?!情景四:那我們有沒有好的解決方案呢?Shell的用途數(shù)據(jù)的統(tǒng)計與分析計劃任務的執(zhí)行進程的監(jiān)控與管理命令的組合與使用SHELL的用途就讓我們開始學BASH吧!??!Bash腳本優(yōu)點簡單、快速不需要編譯靈活高效四.SHELL基礎變量數(shù)值運算流程控制命令函數(shù)Bash語法變量定義: var=value變量引用: $var變量$!

最后一個后臺進程的pid$$ 當前進程的pid$0

當前程序名稱$n n為1,2...n,腳本或函數(shù)的參數(shù)$#: 所給的參數(shù)個數(shù)$*: 所有給出的參數(shù)$? 最后一個命令的退出狀態(tài)常用變量條件判斷ifcase循環(huán)for,whilebreak,continue流程控制grep

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論