Linux系統(tǒng)中的變量有什么應(yīng)用?
linux是一個多用戶的操作系統(tǒng),在了解linux系統(tǒng)中變量的應(yīng)用之前我們先來看看為什么要使用變量。
一、Linux中使用變量的原因
變量的好處在于用一個簡單或容易理解的符號來代替另一個比較復(fù)雜或容易變動的數(shù)據(jù).簡而言之,使用變量就是為了方便.在Linux中,主機內(nèi)有太多的數(shù)據(jù)需要訪問,而這些數(shù)據(jù)都是一些服務(wù)所必須的,且這些數(shù)據(jù)都非常繁瑣.因此,為了簡化整個運行流程,可以通過某個變量功能,讓這個變量可以根據(jù)不同的用戶而更改內(nèi)容.這樣一來,系統(tǒng)只要根據(jù)那個變量去取得所需要的數(shù)據(jù)即可,而不需要去記憶那些繁瑣的數(shù)據(jù).
二、查詢在Linux中的變量
查詢"命令"是外部命令(其它非bash套件所提供的命令)或內(nèi)置在bash中的命令.
[root@localhost~]#type-tname
type會顯示出name是外部命令還是bash內(nèi)置的命令,其中:
file:表示為外部命令
alias:表示該命令為命令別名所設(shè)置的名稱
builtin:表示該命令為bash內(nèi)置的命令
例如:type-tpacd
系統(tǒng)顯示為builtin,表示cd為內(nèi)置命令.
三、變量在Linux中的應(yīng)用
(1)獲取變量的內(nèi)容
echo$變量名
例如:1.echo$PATH則系統(tǒng)會顯示出變量PATH的值.
2.[root@localhost~]#sum=30+50-120
[root@localhost~]#echo$sum//打印出"30+50-120",而不是-40
30+50-120
另外,echo還可以向Linux終端打印數(shù)據(jù).
例如:[root@localhost~]#echo"haha"
haha
(2)變量的賦值
方法:可以直接使用"="來向某個變量賦值.
例如:#echo$hehe//變量未賦值,直接取其值時,則系統(tǒng)的顯示為空
#hehe=Vbird
#echo$hehe//系統(tǒng)顯示為Vbird
Attention!!!
1.等號兩邊不能直接接空格符.
2.變量名稱只能是英文字母與數(shù)字,但數(shù)字不能作為開頭.
3.若該變量需要在其它子程序中執(zhí)行,則需要用export使變量變成環(huán)境變量,如exportPATH.
4.取消變量的方法:unset變量名
5.若變量未賦值,直接取其值時,則系統(tǒng)的顯示為空的.
6.雙引號、單引號在變量中的應(yīng)用
雙引號仍然可以保持變量的內(nèi)容.
單引號只能是一般字符,$name會失去原有的變量內(nèi)容,僅作為字符的顯示類型而已.
#name=vbird
#echo$name//顯示內(nèi)容為vbird
#echo"$nameisme"//顯示內(nèi)容為vbirdisme
#echo'$nameisme'//顯示內(nèi)容為$nameisme
(3)環(huán)境變量
1、列出當(dāng)前Shell環(huán)境下所有環(huán)境變量及內(nèi)容:#env
HOSTNAME=linux.dmtsai.tw//主機名稱
SHELL=/bin/bash//當(dāng)前環(huán)境下,使用的Shell是哪一個程序?
HISTSIZE=1000//記錄曾經(jīng)執(zhí)行過的命令的數(shù)目,RedHat中可記錄1000個
USER=root//當(dāng)前用戶名稱
LS_COLORS//顏色設(shè)置
PATH//執(zhí)行文件命令搜索路徑.目錄之間以冒號分隔.注意,文件的搜索是按PATH的值來查詢.
PWD//當(dāng)前用戶所在的工作目錄
LANG//與語系有關(guān)
HOME
;//用戶的家目錄(進入用戶的家目錄:cd~或cd)
2、列出所有變量(包括自定義變量):#set
在Linux中,默認情況下使用{大寫字母}來設(shè)置的變量一般為系統(tǒng)內(nèi)定需要的變量.
PS1//(數(shù)字1而不是英文字母)Linux命令提示符的設(shè)置
{GetProperty(Content)}nbsp;//本Shell的PID(ProcessID).查詢Shell的PID,使用#echo$
3、自定義的變量轉(zhuǎn)變?yōu)榄h(huán)境變量:#export
(1)#export
將所有的環(huán)境變量都顯示出來.
(2)Linux中的變量可分為環(huán)境變量和自定義變量.兩者的區(qū)別在于環(huán)境變量對于用戶來說是透明的,即可以在任何一個程序中使用這些環(huán)境變量.而自定義變量只在當(dāng)前Shell中有效,關(guān)閉了當(dāng)前Shell,該變量便無效.所以為了能使自定義的變量在任何程序中都可以使用,可以使用export在系統(tǒng)的配置文件/etc/profile、/etc/.bashrc中聲明該變量.
export聲明變量的格式:#export變量名
#p#
4、從(鍵盤)鍵盤獲取變量:read
要讀取來自鍵盤輸入的變量,就是用read命令.該命令常用在Shell腳本的編寫中,與用戶進行對話.
命令格式:#read[-pt]變量名
參數(shù)說明:-p后接提示符
-t后接等待的"秒數(shù)"
例程:
1、讓用戶從(終端)鍵盤輸入內(nèi)容,并將輸入的內(nèi)容賦給該變量.輸入該變量后,Linux系統(tǒng)自動提示用戶輸入.
[root@localhostroot]#readyhy//將輸入的內(nèi)容(thisisatest!)賦給了變量yhy
thisisatest!
[root@localhostroot]#echo$yhy
thisisatest!
2、提示用戶10秒內(nèi)輸入自己的名字,并顯示出友好界面.
[root@localhostroot]#read-p"Pleaseinputyourname:"-t10named
此時,系統(tǒng)提示:
Pleaseinputyourname:lss
[root@localhostroot]#echo$named//將輸入的內(nèi)容(lss)賦給了變量named
lss
5、利用declare聲明變量
在Linux中,使用declare聲明一個變量的類型.
命令格式:#declare[-aixr]變量名
參數(shù)說明:-a聲明該變量為數(shù)組(array)
-i聲明該變量為整型(integer)
-x將該變量變成環(huán)境變量,功能類似于export
-r將該變量設(shè)置為只讀,即變量內(nèi)容不能更改,也不能取消(unset)
例程:
1、[root@localhostroot]#sum=30+50+-120
[root@localhostroot]#echo$sum
30+50-120
[root@localhostroot]#declare-isum=30+50-120
-40
注:declare-i類似于C語言中將變量sum聲明為整型變量.
2、將sum變成環(huán)境變量
[root@localhostroot]#delcare-xsum//相當(dāng)于exportsum
3、讓變量sum變成只讀屬性,不可更改
[root@localhostroot]#declare-rsum
[root@localhostroot]#sum=30+50+120
-bash:sum,readonlyvariable
6、限制文件系統(tǒng)與程序
若10個人同時登錄某Linux主機,這10個人同時打開了100個文件,每個文件大小約10MB,則需要Linux主機內(nèi)存為10*10*100=10GB.這會導(dǎo)致Linux主機死機.為此,為了防止這種情況的發(fā)生,Linux中用ulimit命令來限制用戶的某些系統(tǒng)資源,包括打開的文件數(shù)量、可以使用的CPU的時間、可以使用的內(nèi)存總量等.
[root@localhostroot]#ulimit-f1024//限制用戶僅能建立1MB以下容量的文件
[root@localhostroot]#ulimit-a//列出所有的限制數(shù)據(jù)
7、命令別名的設(shè)置
當(dāng)命令特別長的時候,可以使用別名來設(shè)置新的命令.
命令格式:#alias命令
例程:
當(dāng)查詢隱藏文件時,可以使用#ls-l|more來查詢,但這樣輸入命令非常的繁瑣.因此可以這樣來操作:
#aliaslm='ls-l|more'
這樣就立刻多了一個可執(zhí)行的命令,該命令的名稱是lm,它執(zhí)行的是ls-l|more.
#aliasvim=vi
這樣執(zhí)行vim編輯器就等效于vi編輯器.
8、查詢執(zhí)行過的命令
在Linux中可以使用history命令來查詢用戶以往曾經(jīng)使用過的命令.
[root@localhostroot]#history//查詢所有曾經(jīng)使用過的命令
[root@localhostroot]#history3//列出當(dāng)前最近使用過的3個命令
[root@localhostroot]#history-w//將歷史記錄寫入~/.bash_history中
總結(jié):
希望本文介紹的Linux中變量的應(yīng)用的內(nèi)容能夠?qū)ψx者有所幫助,更多有關(guān)linux系統(tǒng)的知識還有待于讀者去探索和學(xué)習(xí)。
【編輯推薦】
- Linux命令行configure參數(shù)介紹
- Linux系統(tǒng)中如何進行網(wǎng)絡(luò)校時?
- Linux二十年歷程:昨天與今天
- linux服務(wù)器中的三個內(nèi)核文件簡介
- Linux技巧之Ubuntu11.04下安裝極點五筆輸入法