Shell編程基礎(chǔ)[C教程網(wǎng)cppcou課件_第1頁(yè)
Shell編程基礎(chǔ)[C教程網(wǎng)cppcou課件_第2頁(yè)
Shell編程基礎(chǔ)[C教程網(wǎng)cppcou課件_第3頁(yè)
Shell編程基礎(chǔ)[C教程網(wǎng)cppcou課件_第4頁(yè)
Shell編程基礎(chǔ)[C教程網(wǎng)cppcou課件_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Shell編程基礎(chǔ)編程基礎(chǔ)第一章第一章1本章目標(biāo)本章目標(biāo)q什么是Shell程序q本地變量q環(huán)境變量q位置參量q數(shù)組2Shell的解釋執(zhí)行功能的解釋執(zhí)行功能SHELL單條命令單條命令ShellShell腳本腳本Kernel系統(tǒng)調(diào)用系統(tǒng)調(diào)用3什么是什么是Shell程序?程序?q以文件形式存放批量的Linux命令集合,該文件能夠被Shell解釋執(zhí)行,這種文件就是Shell腳本程序q通常由一段Linux命令、Shell命令、控制語(yǔ)句以及注釋語(yǔ)句構(gòu)成qShell 腳本的編寫(xiě)qShell 腳本腳本是純文本文件,可以使用任何文本編輯器編是純文本文件,可以使用任何文本編輯器編寫(xiě)寫(xiě)qShell 腳本腳本通常是以

2、通常是以 .sh 作為后綴名作為后綴名4Shell程序編程主要內(nèi)容程序編程主要內(nèi)容q變量q本地變量、環(huán)境變量、位置參量q輸入輸出qread/echo或printfq條件測(cè)試q整數(shù)測(cè)試、邏輯測(cè)試、字符串測(cè)試q控制語(yǔ)句q條件/循環(huán)/分支/q函數(shù)q常用Shell程序內(nèi)置指令qdeclare/export/eval/trap等5Shell程序的第一行程序的第一行u 第一行:指定用哪個(gè)程序來(lái)編譯和執(zhí)行腳本。#!/bin/bash#!/bin/sh#!/bin/cshu 注釋行:使用(#)符號(hào)6q 變量賦值:變量賦值:l 等號(hào)兩邊不能有空格等號(hào)兩邊不能有空格l 如果要給變量賦空值,可以在等號(hào)后面跟一個(gè)換行

3、符如果要給變量賦空值,可以在等號(hào)后面跟一個(gè)換行符variablevariable= =valuevalue變量概述變量概述q 變量命名變量命名l 變量名必須以字母或下劃線開(kāi)頭,后面可以跟字母、數(shù)字變量名必須以字母或下劃線開(kāi)頭,后面可以跟字母、數(shù)字 或下劃線。任何其它字符都標(biāo)志變量名的結(jié)束?;蛳聞澗€。任何其它字符都標(biāo)志變量名的結(jié)束。l 變量名關(guān)于大小寫(xiě)敏感。變量名關(guān)于大小寫(xiě)敏感。q 變量類(lèi)型:變量類(lèi)型:l 根據(jù)變量的根據(jù)變量的作用域作用域,變量可以分為,變量可以分為本地變量本地變量和和環(huán)境變量環(huán)境變量l 本地變量只在創(chuàng)建它們的本地變量只在創(chuàng)建它們的 shell shell 程序中可用。而環(huán)境變程

4、序中可用。而環(huán)境變量則在量則在ShellShell中的所有用戶(hù)進(jìn)程中可用,通常也稱(chēng)為中的所有用戶(hù)進(jìn)程中可用,通常也稱(chēng)為全局變量全局變量。7q 顯示變量的值顯示變量的值echo $variable 或或 echo $variableq 清除變量清除變量unset variableq 顯示所有變量顯示所有變量set變量常見(jiàn)操作變量常見(jiàn)操作8環(huán)境變量和只讀變量環(huán)境變量和只讀變量q環(huán)境變量稱(chēng)為全局變量,按照慣例需要大寫(xiě)q注意:可被所有的Shell環(huán)境下訪問(wèn);如果父Shell進(jìn)程產(chǎn)生了子Shell進(jìn)程,則環(huán)境變量可被“繼承”并復(fù)制q只讀變量q是指不能被清除或重新賦值的變量是指不能被清除或重新賦值的變量#

5、export LANG#readonly myvar9q 位置參量位置參量是一組特殊的內(nèi)置變量,通常被是一組特殊的內(nèi)置變量,通常被 shellshell 腳腳本用來(lái)本用來(lái)從命令行接受參數(shù)從命令行接受參數(shù),或被函數(shù)用來(lái)保存?zhèn)鬟f給它,或被函數(shù)用來(lái)保存?zhèn)鬟f給它的參數(shù)。的參數(shù)。q 執(zhí)行執(zhí)行 shell 腳本時(shí),用戶(hù)可以通過(guò)命令行向腳本傳遞腳本時(shí),用戶(hù)可以通過(guò)命令行向腳本傳遞信息,跟在腳本名后面的用信息,跟在腳本名后面的用空格空格隔開(kāi)的每個(gè)字符串都稱(chēng)隔開(kāi)的每個(gè)字符串都稱(chēng)為位置參量。為位置參量。q 在腳本中使用這些參數(shù)時(shí),需通過(guò)位置參量來(lái)引用。在腳本中使用這些參數(shù)時(shí),需通過(guò)位置參量來(lái)引用。例如:例如: $

6、1 表示第一個(gè)參數(shù),表示第一個(gè)參數(shù),$2 表示第二個(gè)參數(shù),以此表示第二個(gè)參數(shù),以此類(lèi)推。類(lèi)推。 $9 以后需要用花括號(hào)把數(shù)字括起來(lái),如第以后需要用花括號(hào)把數(shù)字括起來(lái),如第 10 個(gè)個(gè)位置參量以位置參量以 $10 的方式來(lái)訪問(wèn)。的方式來(lái)訪問(wèn)。位置參量(命令行參數(shù))位置參量(命令行參數(shù))10$0當(dāng)前腳本的文件名當(dāng)前腳本的文件名$1-$9第第 1 1 個(gè)到第個(gè)到第 9 9 個(gè)位置參量個(gè)位置參量$10第第 1010 個(gè)位置參量,類(lèi)似地,有個(gè)位置參量,類(lèi)似地,有 $11 $11 , , .$#位置參量的個(gè)數(shù)位置參量的個(gè)數(shù)$*以單字符串顯示所有位置參量以單字符串顯示所有位置參量$未加雙引號(hào)時(shí)與未加雙引號(hào)時(shí)

7、與 $ $* * 含義相同,加雙引號(hào)時(shí)有區(qū)別含義相同,加雙引號(hào)時(shí)有區(qū)別$腳本運(yùn)行的當(dāng)前進(jìn)程號(hào)腳本運(yùn)行的當(dāng)前進(jìn)程號(hào)$!最后一個(gè)后臺(tái)運(yùn)行的進(jìn)程的進(jìn)程號(hào)最后一個(gè)后臺(tái)運(yùn)行的進(jìn)程的進(jìn)程號(hào)$?顯示前面最后一個(gè)命令的退出狀態(tài)。顯示前面最后一個(gè)命令的退出狀態(tài)。0 0 表示沒(méi)有錯(cuò)誤,其他任何值表示有錯(cuò)誤。表示沒(méi)有錯(cuò)誤,其他任何值表示有錯(cuò)誤。位置參量列表位置參量列表11位置參量舉例位置參量舉例u給SHELL程序傳遞參數(shù) u如果位置參量中含有空格,則需要使用雙引號(hào)shell_test.sh This is Peter Piper#例例1:shell_test.sh echo “the count of parameters:$#”echo “first param=$1”echo “second param=$2”echo “params string=$*”shell_test.sh This is Peter12數(shù)組數(shù)組q數(shù)組定義q數(shù)組初始化q數(shù)組引用q數(shù)組賦值arr=(math english chines

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論