Linux網(wǎng)絡(luò)操作系統(tǒng)15課件_第1頁
Linux網(wǎng)絡(luò)操作系統(tǒng)15課件_第2頁
Linux網(wǎng)絡(luò)操作系統(tǒng)15課件_第3頁
Linux網(wǎng)絡(luò)操作系統(tǒng)15課件_第4頁
Linux網(wǎng)絡(luò)操作系統(tǒng)15課件_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

3變量Linux網(wǎng)絡(luò)操作系統(tǒng)劉海琴目錄用戶變量3系統(tǒng)變量1特殊變量2位置變量4Shell變量的分類系統(tǒng)變量特殊變量普通變量與臨時(shí)環(huán)境變量位置變量4補(bǔ):Shell中的特殊符號(hào)1、注釋符# 除了#!/bin/bash里的#特殊2、美元符$變量符。與反斜杠轉(zhuǎn)義符相反,使其后的普通字符作為變量名,如$a表示變量a的值。變量字符長(zhǎng)度超過1個(gè)時(shí),用{}括起來3、單引號(hào)被引起的字符全部做普通字符,即全部原樣 echo‘my$SHELL’4、雙引號(hào)引號(hào)內(nèi)的內(nèi)容,除$、轉(zhuǎn)義符\、倒引號(hào)`這三個(gè)保留特殊功能,其他字符均做普通字符。5、倒引號(hào)(數(shù)字1鍵旁邊的那個(gè)鍵)引號(hào)內(nèi)的字符串當(dāng)做shell命令行解釋執(zhí)行,得到的結(jié)果取代整個(gè)倒引號(hào)括起來的部分。6.反斜線反斜線是轉(zhuǎn)義字符,它能把特殊字符變成普通字符。在某個(gè)字符前面利用反斜杠(\)能夠阻止shell把后面的字符解釋為特殊字符。特殊符號(hào)5練習(xí)一下:區(qū)別下面幾句` 用于括起來shell命令‘ 用于原樣顯示注意:在單引號(hào)括起來的字符串中,反斜線也成為普通字符,而失去轉(zhuǎn)義字符功能。echo‘myhomeis$HOME’echo“myhomeis$HOME”echo`myhomeis$HOME`echo“myhomeis`pwd`”echo‘myhomeis`pwd`’$echo“FilenameisN0\$\*”FilenameisN0$*區(qū)別1系統(tǒng)變量1.系統(tǒng)變量變量名注釋$HOME 當(dāng)前用戶家目$IFS 內(nèi)部字段分隔符$LANG 默認(rèn)語言$PATH 默認(rèn)可執(zhí)行程序路徑$PWD 當(dāng)前目錄$UID當(dāng)前用戶ID$SHELL默認(rèn)Shell$USER當(dāng)前用戶$HISTSIZE歷史命令大小,可通過HISTTIMEFORMAT變量設(shè)置命令執(zhí)行時(shí)間$RANDOM隨機(jī)生成一個(gè)0至32767的整數(shù)$HOSTNAME主機(jī)名env、set

查看系統(tǒng)或環(huán)境變量

(1)env顯示用戶環(huán)境變量

(2)set顯示Shell預(yù)先定義好的變量以及用戶變量

注意:可以通過export導(dǎo)出成用戶變量。查看系統(tǒng)或環(huán)境變量8HOME:代表使用者的家目錄。cd~去到使用者的家目錄或者利用cd就可以直接回到使用者家目錄了。PS1:shell的主提示符SHELL:目前這個(gè)環(huán)境使用的SHELL是哪個(gè)程序?如果是bash的話,預(yù)設(shè)是/bin/bashPWD:用戶當(dāng)前工作目錄的路徑。它指出用戶目前在Linux文件系統(tǒng)中處在什么位置。它是由Linux自動(dòng)設(shè)置的HISTSIZE:這個(gè)與“歷史命令”有關(guān),曾經(jīng)下達(dá)過的指令可以被系統(tǒng)記錄下來,而記錄的“數(shù)目”則是由這個(gè)值來設(shè)定的。ENV:這個(gè)使用者所使用的個(gè)性化環(huán)境設(shè)置文件的讀取文件。MAIL:當(dāng)我們使用mail這個(gè)指令在收信時(shí),系統(tǒng)會(huì)去讀取的郵件信箱文件(mailbox)。PATH:就是執(zhí)行文件搜尋的路徑,目錄與目錄中間以冒號(hào)(:)分隔,由于文件的搜尋是依序由PATH的變量?jī)?nèi)的目錄來查詢,所以,目錄的順序也是重要的喔。LANG:語系文件,很多數(shù)據(jù)都會(huì)用到他,當(dāng)出現(xiàn)編碼錯(cuò)誤的時(shí)候往往需要設(shè)置它,中文編碼是zh_CN.UTF8變量名$HOME $IFS $LANG $PATH $PWD $UID$SHELL$USER$HISTSIZE$RANDOM$HOSTNAME1.系統(tǒng)變量91.系統(tǒng)變量環(huán)境變量用于所有用戶進(jìn)程(通常稱為子進(jìn)程)。登陸進(jìn)程稱為父進(jìn)程,通過pstree可以查看環(huán)境變量可以用于所有子程序,著包括編輯器、腳本和應(yīng)用舉例:via.sh#!/bin/bash#檢測(cè)環(huán)境變量

echo"家目錄是$HOME"

環(huán)境變量可以在命令行中設(shè)置,但用戶注銷時(shí)這些值將丟失環(huán)境變量均為大寫必須用export命令導(dǎo)出環(huán)境變量設(shè)置環(huán)境變量

variable-name=value

exportvariable-name(環(huán)境變量名大寫)顯示環(huán)境變量env可以看到所有的環(huán)境變量

echo$環(huán)境變量名(顯示一個(gè)變量)清除環(huán)境變量

unset環(huán)境變量名環(huán)境變量10PATH示例舉例:配置java環(huán)境變量可使任何目錄都能執(zhí)行javac命令在Linux下配置它們

打開終端

vi.bash_profile

在配置文件中追加內(nèi)容

JAVA_HOME=JDK存放位置

CLASSPATH=.(當(dāng)前目錄)

PATH=$JAVA_HOME/BIN:$PATH(不覆蓋原來的內(nèi)容,追加)

exportJAVA_HOMECLASSPATHPATH

保存,讓配置起作用(source.bash_profile或者注銷)檢查當(dāng)前用戶是否為root用戶If[$UID–ne0];thenechonotrootuser.Pleaserunasroot.Elseechorootuserfi2.特殊變量

特殊變量是Linux所提供的一種特殊類型的變量,這類變量在程序中用來作出判斷。在shell程序內(nèi)這類變量的值是不能修改的。部分內(nèi)部變量是:$#——傳送給shell程序的位置參數(shù)的數(shù)量$?——最后命令的完成碼或者在shell程序內(nèi)部執(zhí)行的shell程序(返回值)$0——shell程序的名稱$*——調(diào)用shell程序時(shí)所傳送的全部參數(shù)的單字符串,“參數(shù)1”“參數(shù)2”…形式保存的參數(shù)$@——“參數(shù)1”“參數(shù)2”…形式保存的參數(shù)$n——第n個(gè)參數(shù)$$——本程序的PID$!——上一個(gè)命令的PID特殊變量13使用shell特殊變量的腳本舉例[lhq@localhostDesktop]$cattest.sh#!/bin/bash#teshubianliangdeshiyong!#$0的使用echo"當(dāng)前的程序名字是$0"#$#$@$1的使用echo"共輸入$#個(gè)參數(shù),全部參數(shù)是$@,第一個(gè)參數(shù)是$1"#$$的使用echo"當(dāng)前的進(jìn)程PID為$$"#$?的使用echo"執(zhí)行完畢,返回$?"特殊變量舉例[lhq@localhostDesktop]$shtest.shabc當(dāng)前的程序名字是test.sh共輸入3個(gè)參數(shù),全部參數(shù)是abc,第一個(gè)參數(shù)是a當(dāng)前的進(jìn)程PID為6747執(zhí)行完畢,返回0執(zhí)行14#!/bin/bashecho"當(dāng)前賬戶是:$USER,當(dāng)前賬戶的UID是:$UID"echo"當(dāng)前賬戶的家目錄是:$HOME"echo"當(dāng)前工作目錄是:$PWD"echo"返回0-32767的隨機(jī)數(shù):$RANDOM"echo"當(dāng)前腳本的進(jìn)程號(hào)是$$"echo"當(dāng)前腳本的名稱為:$0"echo"當(dāng)前腳本的第1個(gè)參數(shù)是:$1"echo"當(dāng)前腳本的第2個(gè)參數(shù)是:$2"echo"當(dāng)前腳本的第3個(gè)參數(shù)是:$3"echo"當(dāng)前腳本的所有參數(shù)是:$*"echo"準(zhǔn)備創(chuàng)建一個(gè)文件..."touch"$*"echo"準(zhǔn)備創(chuàng)建多個(gè)文件..."touch"$@"系統(tǒng)變量使用ls/etc/passwdecho"我是正確的返回狀態(tài)碼:$?,因?yàn)樯弦粭l命令執(zhí)行結(jié)果沒有問題"ls/etc/pasecho"我是錯(cuò)誤的返回狀態(tài)碼:$?,因?yàn)樯弦粭l命令執(zhí)行結(jié)果有問題,提示無此文件"系統(tǒng)變量使用3.普通變量又名:本地變量、局部變量、用戶變量普通變量在用戶現(xiàn)在的shell生命期的腳本中使用變量名=值Export變量名=值注意:(1)等號(hào)兩邊不可以有空格(2)取值包含空格,必須用雙引號(hào)括起來(3)Shell變量可以用大小寫字母,區(qū)分大小寫(4)變量名以字母、數(shù)字、下劃線組成,且不可以數(shù)字打頭變量的聲明(1)變量是弱類型的(不用聲明類型)(2)變量的引用

$變量名

${變量名}

變量名為1個(gè)字符時(shí)建議使用方式一,多余一個(gè)字符時(shí)建議使用方式二舉例:$a${abc}變量的使用16普通變量與臨時(shí)環(huán)境變量區(qū)別[lhq@localhostDesktop]$echo$$6659[lhq@localhostDesktop]$var=yunjisuan1721[lhq@localhostDesktop]$echo$varyunjisuan1721[lhq@localhostDesktop]$bash[lhq@localhostDesktop]$echo$$6930[lhq@localhostDesktop]$echo$var[lhq@localhostDesktop]$exitexit[lhq@localhostDesktop]$echo$varyunjisuan1721[lhq@localhostDesktop]$export$var[lhq@localhostDesktop]$bash[lhq@localhostDesktop]$echo$varyunjisuan1721[lhq@localhostDesktop]$exportvar[lhq@localhostDesktop]$bash[lhq@localhostDesktop]$echo$varyunjisuan1721[lhq@localhostDesktop]$17unset變量名舉例:echo${name}unsetname(注意:name前沒有$)[lhq@localhostDesktop]$name=yjs[lhq@localhostDesktop]$echo$nameyjs[lhq@localhostDesktop]$unsetname[lhq@localhostDesktop]$echo$name[lhq@localhostDesktop]$清除變量只讀變量設(shè)置變量時(shí),不想再改變其值,可以將之設(shè)為只讀變量變量名=值

readonly變量名[lhq@localhostDesktop]$readonlyname[lhq@localhostDesktop]$name=wlbash:name:readonlyvariable[lhq@localhostDesktop]$注意:只能通過su進(jìn)入root權(quán)限,使用unset命令刪除只讀變量。設(shè)置只讀變量#!/bin/bash#描述信息:本腳本主要目的是獲取主機(jī)的數(shù)據(jù)信息(內(nèi)存、網(wǎng)卡IP、CPU負(fù)載)localip=$(ifconfigeth0|grepnetmask|tr-s“”|cut–d“”-f3)mem=$(free|grepMem|tr-s""|cut-d""-f7)cpu=$(uptime|tr-s""|cut-d""-f13)echo"本機(jī)IP地址是:$localip"echo"本機(jī)內(nèi)存剩余容量為:$mem"echo"本機(jī)CPU15分鐘的平均負(fù)載為:$cpu"變量的使用-舉例補(bǔ)充知識(shí):trtr命令用于轉(zhuǎn)換或刪除文件中的字符。語法:tr[-cdst][--help][--version][第一字符集][第二字符集]

tr[OPTION]…SET1[SET2]Tr命令-c,--complement:反選設(shè)定字符。也就是符合SET1的部份不做處理,不符合的剩余部份才進(jìn)行轉(zhuǎn)換-d,--delete:刪除指令字符-s,--squeeze-repeats:縮減連續(xù)重復(fù)的字符成指定的單個(gè)字符-t,--truncate-set1:削減SET1指定范圍,使之與SET2設(shè)定長(zhǎng)度相等--help:顯示程序用

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論