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

下載本文檔

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

文檔簡介

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命令、控制語句以及注釋語句構(gòu)成qShell 腳本的編寫qShell 腳本腳本是純文本文件,可以使用任何文本編輯器編是純文本文件,可以使用任何文本編輯器編寫寫qShell 腳本腳本通常是以

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

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

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

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

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

7、與 $ $* * 含義相同,加雙引號時有區(qū)別含義相同,加雙引號時有區(qū)別$腳本運行的當(dāng)前進(jìn)程號腳本運行的當(dāng)前進(jìn)程號$!最后一個后臺運行的進(jìn)程的進(jìn)程號最后一個后臺運行的進(jìn)程的進(jìn)程號$?顯示前面最后一個命令的退出狀態(tài)。顯示前面最后一個命令的退出狀態(tài)。0 0 表示沒有錯誤,其他任何值表示有錯誤。表示沒有錯誤,其他任何值表示有錯誤。位置參量列表位置參量列表11位置參量舉例位置參量舉例u給SHELL程序傳遞參數(shù) u如果位置參量中含有空格,則需要使用雙引號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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論