銀河麒麟服務(wù)器操作系統(tǒng)運(yùn)維實(shí)踐 課件 28. shell_第1頁(yè)
銀河麒麟服務(wù)器操作系統(tǒng)運(yùn)維實(shí)踐 課件 28. shell_第2頁(yè)
銀河麒麟服務(wù)器操作系統(tǒng)運(yùn)維實(shí)踐 課件 28. shell_第3頁(yè)
銀河麒麟服務(wù)器操作系統(tǒng)運(yùn)維實(shí)踐 課件 28. shell_第4頁(yè)
銀河麒麟服務(wù)器操作系統(tǒng)運(yùn)維實(shí)踐 課件 28. shell_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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)介

Shell應(yīng)用1Shell介紹目錄2Shell變量3Shell第一個(gè)腳本Shell介紹Shell的作用Shell的作用——命令解釋器,“翻譯官”介于系統(tǒng)內(nèi)核與用戶(hù)之間,負(fù)責(zé)解釋命令行2024/3/14Shell計(jì)算機(jī)用戶(hù)應(yīng)用程序Linux內(nèi)核輸入輸入控制控制系統(tǒng)硬件輸出輸出Shell的作用用戶(hù)的登錄Shell登錄后默認(rèn)使用的Shell程序,一般為/bin/bash不同Shell的內(nèi)部指令、運(yùn)行環(huán)境等會(huì)有所區(qū)別2024/3/15[kylin@localhost~]#cat/etc/shells/bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/kshBash簡(jiǎn)介Bash(BourneAgainSHell)是GNU計(jì)劃的一個(gè)組件與Unix上的BourneShell完全兼容,是其增強(qiáng)版本支持命令行輸入、操作歷史、快捷鍵、輸入輸出重定向、管道、變量等功能2024/3/16通配符*代表0個(gè)到無(wú)窮多個(gè)任意字符。?

代表一定有一個(gè)任意字符。[]

代表一定有一個(gè)在括號(hào)內(nèi)的字符(非任意字符)。例如[abcd]代表一定有一個(gè)字符,可能是a,b,c,d這四個(gè)任何一個(gè)

。[-]若有減號(hào)在中括號(hào)內(nèi)時(shí),代表在編碼順序內(nèi)的所有字符。例如[0-9]代表0到9之間的所有數(shù)字,因?yàn)閿?shù)字的語(yǔ)系編碼是連續(xù)的!。[!]若中括號(hào)內(nèi)的第一個(gè)字符為感嘆號(hào)符號(hào)(!),那表示反向選擇。2024/3/17常見(jiàn)特殊符號(hào)2024/3/18!:

執(zhí)行歷史命令!!執(zhí)行上一條命令$:

變量中取內(nèi)容符+-*/%:

對(duì)應(yīng)數(shù)學(xué)運(yùn)算加減乘除取余數(shù)&:

后臺(tái)執(zhí)行;:

分號(hào)可以在shell中一行執(zhí)行多個(gè)命令,命令之間用分號(hào)分割\:

轉(zhuǎn)義字符``:

反引號(hào)命令中執(zhí)行命令echo"todayis`date+%F`"'':

單引號(hào),腳本中字符串要用單引號(hào)引起來(lái),但是不同于雙引號(hào)的是,單引號(hào)不解釋變量"":

雙引號(hào),腳本中出現(xiàn)的字符串可以用雙引號(hào)引起來(lái)重定向>覆蓋輸入>>追加輸入<輸出<<追加輸出管道命令|:管道符上一個(gè)命令的輸出作為下一個(gè)命令的輸入catfilename|grep"abc"常用的熱鍵Ctrl+d輸入已結(jié)束Ctrl+c鍵盤(pán)中斷請(qǐng)求Ctrl+s暫停屏幕輸出Ctrl+q恢復(fù)屏幕輸出Ctrl+l清屏,相當(dāng)于clearTab自動(dòng)補(bǔ)完命令行與文件名Ctrl+u刪除當(dāng)前光標(biāo)前的所有字符Ctrl+k刪除當(dāng)前光標(biāo)后的所有字符2024/3/19Shell變量02Shell變量描述變量作用

方便用戶(hù)或程序?qū)?shù)據(jù)臨時(shí)存入內(nèi)存或者從內(nèi)存中讀出變量的定義簡(jiǎn)單的說(shuō),就是讓某一個(gè)特定字符串代表不固定的內(nèi)容就是了。變量具有可變性和方便性,為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思:

變量名:使用固定的名稱(chēng),由系統(tǒng)預(yù)設(shè)或用戶(hù)定義

變量值:能夠根據(jù)用戶(hù)設(shè)置、系統(tǒng)環(huán)境的變化而變化

變量的類(lèi)型

自定義變量、本地變量、全局變量、預(yù)定義變量2024/3/111變量賦值賦值符號(hào)=

變量名=值賦值時(shí)使用引號(hào)的區(qū)別雙引號(hào):允許通過(guò)$符號(hào)引用其他變量值單引號(hào):禁止引用其他變量值,$視為普通字符從鍵盤(pán)輸入內(nèi)容為變量賦值格式:read[-p

"提示信息"]變量名2024/3/112自定義變量用戶(hù)自定義的變量,定義在腳本或者當(dāng)前終端中,腳本執(zhí)行完畢或終端結(jié)束變量失效。VAR1=1age=18整形name=‘kylin’字符串score=88.8浮點(diǎn)環(huán)境變量環(huán)境變量一般由系統(tǒng)提前創(chuàng)建,用來(lái)設(shè)置用戶(hù)的工作環(huán)境用戶(hù)可以用set或者env來(lái)查詢(xún)環(huán)境變量常見(jiàn)的環(huán)境變量:PWD、PATHUSER、LOGNAME、UID、SHELL、HOMEPS1、$PS22024/3/114[kylin@localhost~]#echo$PATHusr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/kylin/bin[kylin@localhost~]#PATH="$PATH:/kylin"[kylin@localhost~]#echo$PATHusr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/kylin/bin:/kylin全局變量通過(guò)export命令將本地變量定義為全局變量格式1:export

變量名...格式2:export變量名=變量值…2024/3/115[kylin@localhost~]#echo"$Product$Version"kylin4.0[kylin@localhost~]#exportProductVersion[kylin@localhost~]#bash[kylin@localhost~]#echo"$Product$Version"kylin4.0[kylin@localhost~]#exit導(dǎo)出為全局變量子程序引用全局變量預(yù)定義變量$#:命令行中位置變量的個(gè)數(shù)$*:所有位置變量的內(nèi)容$?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回狀態(tài)值為0時(shí)表示執(zhí)行正常,非0值表示執(zhí)行異?;虺鲥e(cuò)$0:當(dāng)前執(zhí)行的進(jìn)程/程序名2024/3/116[kylin@localhost~]#catmybak.sh#!/bin/bashTARFILE=beifen-`date+%s`.tgztarzcf$TARFILE$*&>/dev/nullecho"已執(zhí)行$0腳本,"echo"共完成$#個(gè)對(duì)象的備份"echo“具體內(nèi)容包括:$*”[kylin@localhost~]#./mybak.sh/etc/passwd/etc/shadow已執(zhí)行./mybak.sh腳本,共完成2個(gè)對(duì)象的備份具體包括:/etc/passwd/etc/shadowunset變量名取消變量[kylin@localhost~]#echo"$Productkylin[kylin@localhost~]#unsetProduct[kylin@localhost~]#echo"$Product"[kylin@localhost~]#通過(guò)unset命令可釋放變量,回收變量占用的內(nèi)容空間變量有效期默認(rèn)情況下,在shell下的用戶(hù)變量、alias等,只在此次登錄中有效。一旦關(guān)閉終端或注銷(xiāo)后,則將會(huì)設(shè)置恢復(fù)初始值。用戶(hù)可以將這些設(shè)置放入一個(gè)系統(tǒng)環(huán)境配置文件中,使其長(zhǎng)期生效。每一個(gè)用戶(hù)都有一個(gè)登錄shell,且默認(rèn)為bash,當(dāng)用戶(hù)打開(kāi)一個(gè)bash時(shí),系統(tǒng)就去讀取~/.bashrc配置文件。因此可以將相關(guān)的用戶(hù)設(shè)定放入次文件中。2024/3/118環(huán)境配置文件Bash會(huì)在用戶(hù)登錄時(shí),主要讀取下列4個(gè)環(huán)境配置文件:

全局配置文件:/etc/profile/etc/bashrc

用戶(hù)設(shè)置文件:~/.bash_profile~/.bashrc2024/3/119/etc/profile/etc/profile.d/*.sh/etc/bashrc~/.bashrc~/.bash_profile開(kāi)始使用shellShell第一個(gè)腳本03編寫(xiě)第一個(gè)Shell腳本編寫(xiě)腳本代碼使用vim文本編輯器每行一條Linux命令,按執(zhí)行順序依次編寫(xiě)2024/3/121[kylin@localhost~]#vifirst.shcd/boot/pwdls-lhvml*編寫(xiě)第一個(gè)Shell腳本賦予可執(zhí)行權(quán)限使腳本具有可執(zhí)行屬性2024/3/122[kylin@localhost~]#chmod+xfirst.sh[kylin@localhost~]#ls-lfirst.sh-rwxr-xr-x1kylinkylin14404-2615:02first.sh編寫(xiě)第一個(gè)Shell腳本執(zhí)行腳本文件方法一:腳本文件路徑(需要x權(quán)限)方法二:bash腳本文件路徑方法三:source腳本文件路徑2024/3/123[kylin@localhost~]#./first.sh/boot-rwxr-xr-x1rootroot8.9M4月1511:36vmlinuz-4.19.90-25.14.v2101.ky10.aarch64[kylin@localhost~]#bash/first.sh/boot-rwxr-xr-x1rootroot8.9M4月1511:36vmlinuz-4.19.90-25.14.v2101.ky10.aarch64[kylin@localhost~]#source/first.sh/boot-rwxr-xr-x1rootroot8.9M4月1511:36vmlinuz-4.19.90-25.14.v2101.ky10.aarch64編寫(xiě)第一個(gè)Shell腳本更完善的腳本構(gòu)成腳本聲明注釋信息可執(zhí)行語(yǔ)句2024/3/124[kylin@localhost~]#vi/first.sh#!/bin/bash#ThisismyfirstShell-Script.cd/bootecho"當(dāng)前的目錄位于:"pwdecho"其中以vml開(kāi)頭的文件包括:"ls-lhvml*輸出友好提示信息Shell應(yīng)用1Shell介紹目錄2Shell變量3Shell第一個(gè)腳本Shell變量Shell變量描述變量作用

方便用戶(hù)或程序?qū)?shù)據(jù)臨時(shí)存入內(nèi)存或者從內(nèi)存中讀出變量的定義簡(jiǎn)單的說(shuō),就是讓某一個(gè)特定字符串代表不固定的內(nèi)容就是了。變量具有可變性和方便性,為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思:

變量名:使用固定的名稱(chēng),由系統(tǒng)預(yù)設(shè)或用戶(hù)定義

變量值:能夠根據(jù)用戶(hù)設(shè)置、系統(tǒng)環(huán)境的變化而變化

變量的類(lèi)型

自定義變量、本地變量、全局變量、預(yù)定義變量2024/3/128變量賦值賦值符號(hào)=

變量名=值賦值時(shí)使用引號(hào)的區(qū)別雙引號(hào):允許通過(guò)$符號(hào)引用其他變量值單引號(hào):禁止引用其他變量值,$視為普通字符從鍵盤(pán)輸入內(nèi)容為變量賦值格式:read[-p

"提示信息"]變量名2024/3/129自定義變量用戶(hù)自定義的變量,定義在腳本或者當(dāng)前終端中,腳本執(zhí)行完畢或終端結(jié)束變量失效。VAR1=1age=18整形name=‘kylin’字符串score=88.8浮點(diǎn)環(huán)境變量環(huán)境變量一般由系統(tǒng)提前創(chuàng)建,用來(lái)設(shè)置用戶(hù)的工作環(huán)境用戶(hù)可以用set或者env來(lái)查詢(xún)環(huán)境變量常見(jiàn)的環(huán)境變量:PWD、PATHUSER、LOGNAME、UID、SHELL、HOMEPS1、$PS22024/3/131[kylin@localhost~]#echo$PATHusr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/kylin/bin[kylin@localhost~]#PATH="$PATH:/kylin"[kylin@localhost~]#echo$PATHusr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/kylin/bin:/kylin全局變量通過(guò)export命令將本地變量定義為全局變量格式1:export

變量名...格式2:export變量名=變量值…2024/3/132[kylin@localhost~]#echo"$Product$Version"kylin4.0[kylin@localhost~]#exportProductVersion[kylin@localhost~]#bash[kylin@localhost~]#echo"$Product$Version"kylin4.0[kylin@localhost~]#exit導(dǎo)出為全局變量子程序引用全局變量預(yù)定義變量$#:命令行中位置變量的個(gè)數(shù)$*:所有位置變量的內(nèi)容$?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回狀態(tài)值為0時(shí)表示執(zhí)行正常,非0值表示執(zhí)行異?;虺鲥e(cuò)$0:當(dāng)前執(zhí)行的進(jìn)程/程序名2024/3/133[kylin@localhost~]#catmybak.sh#!/bin/bashTARFILE=beifen-`date+%s`.tgztarzcf$TARFILE$*&>/dev/nullecho"已執(zhí)行$0腳本,"echo"共完成$#個(gè)對(duì)象的備份"echo“具體內(nèi)容包括:$*”[kylin@localhost~]#./mybak.sh/etc/passwd/etc/shadow已執(zhí)行./mybak.sh腳本,共完成2個(gè)對(duì)象的備份具體包括:/etc/passwd/etc/shadowunset變量名取消變量[kylin@localhost~]#echo"$Productkylin[kylin@localhost~]#unsetProduct[kylin@localhost~]#echo"$Product"[kylin@localhost~]#通過(guò)unset命令可釋放變量,回收變量占用的內(nèi)容空間變量有效期默認(rèn)情況下,在shell下的用戶(hù)變量、alias等,只在此次登錄中有效。一旦關(guān)閉終端或注銷(xiāo)后,則將會(huì)設(shè)置恢復(fù)初始值。用戶(hù)可以將這些設(shè)置放入一個(gè)系統(tǒng)環(huán)境配置文件中,使其長(zhǎng)期生效。每一個(gè)用戶(hù)都有一個(gè)登錄shell,且默認(rèn)為bash,當(dāng)用戶(hù)打開(kāi)一個(gè)bash時(shí),系統(tǒng)就去讀取~/.bashrc配置文件。因此可以將相關(guān)的用戶(hù)設(shè)定放入次文件中。2024/3/135環(huán)境配置文件Bash會(huì)在用戶(hù)登錄時(shí),主要讀取下列4個(gè)環(huán)境配置文件:

全局配置文件:/etc/profile/etc/bashrc

用戶(hù)設(shè)置文件:~/.bash_profile~/.bashrc2024/3/136/etc/profile/etc/profile.d/*.sh/etc/bashrc~/.bashrc~/.bash_profile開(kāi)始使用shell編寫(xiě)第一個(gè)Shell腳本編寫(xiě)腳本代碼使用vim文本編輯器每行一條Linux命令,按執(zhí)行順序依次編寫(xiě)2024/3/137[kylin@localhost~]#vifirst.shcd/boot/pwdls-lhvml*編寫(xiě)第一個(gè)Shell腳本賦予可執(zhí)行權(quán)限使腳本具有可執(zhí)行屬性2024/3/1

溫馨提示

  • 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)論