欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

詳解Linux中變量的應(yīng)用_Linux教程

編輯Tag賺U幣
教程Tag:linux變量添加

在學(xué)習(xí)本文的時(shí)候我們先來(lái)看看為什么要使用變量

一、Linux中使用變量的原因

  變量的好處在于用一個(gè)簡(jiǎn)單或容易理解的符號(hào)來(lái)代替另一個(gè)比較復(fù)雜或容易變動(dòng)的數(shù)據(jù).簡(jiǎn)而言之,使用變量就是為了方便.在Linux中,主機(jī)內(nèi)有太多的數(shù)據(jù)需要訪問(wèn),而這些數(shù)據(jù)都是一些服務(wù)所必須的,且這些數(shù)據(jù)都非常繁瑣.因此,為了簡(jiǎn)化整個(gè)運(yùn)行流程,可以通過(guò)某個(gè)變量功能,讓這個(gè)變量可以根據(jù)不同的用戶(hù)而更改內(nèi)容.這樣一來(lái),系統(tǒng)只要根據(jù)那個(gè)變量去取得所需要的數(shù)據(jù)即可,而不需要去記憶那些繁瑣的數(shù)據(jù).

  二、查詢(xún)?cè)贚inux中的變量

  查詢(xún)"命令"是外部命令(其它非bash套件所提供的命令)或內(nèi)置在bash中的命令.

  [root@localhost ~]# type -t name

  type會(huì)顯示出name是外部命令還是bash內(nèi)置的命令,其中:

  file : 表示為外部命令

  alias: 表示該命令為命令別名所設(shè)置的名稱(chēng)

  builtin: 表示該命令為bash內(nèi)置的命令

  例如: type -tpa cd

  系統(tǒng)顯示為builtin,表示cd為內(nèi)置命令.

  三、變量在Linux中的應(yīng)用

  (1)獲取變量的內(nèi)容

  echo $變量名

  例如:1. echo $PATH    則系統(tǒng)會(huì)顯示出變量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)變量的賦值

  方法:可以直接使用"="來(lái)向某個(gè)變量賦值.

  例如:#echo $hehe       //變量未賦值,直接取其值時(shí),則系統(tǒng)的顯示為空

  #hehe=Vbird

  #echo $hehe       //系統(tǒng)顯示為Vbird

  Attention!!!

  1.等號(hào)兩邊不能直接接空格符.

  2.變量名稱(chēng)只能是英文字母與數(shù)字,但數(shù)字不能作為開(kāi)頭.

  3.若該變量需要在其它子程序中執(zhí)行,則需要用export使變量變成環(huán)境變量,如export PATH.

  4.取消變量的方法:unset 變量名

  5.若變量未賦值,直接取其值時(shí),則系統(tǒng)的顯示為空的.

  6.雙引號(hào)、單引號(hào)在變量中的應(yīng)用

  雙引號(hào)仍然可以保持變量的內(nèi)容.

  單引號(hào)只能是一般字符,$name會(huì)失去原有的變量?jī)?nèi)容,僅作為字符的顯示類(lèi)型而已.

  #name=vbird

  #echo $name            //顯示內(nèi)容為vbird

  #echo "$name is me"    //顯示內(nèi)容為vbird is me

  #echo '$name is me'    //顯示內(nèi)容為$name is me

  (3)環(huán)境變量

  1、列出當(dāng)前Shell環(huán)境下所有環(huán)境變量及內(nèi)容:#env

  HOSTNAME=linux.dmtsai.tw    //主機(jī)名稱(chēng)

  SHELL=/bin/bash             //當(dāng)前環(huán)境下,使用的Shell是哪一個(gè)程序?

  HISTSIZE=1000               //記錄曾經(jīng)執(zhí)行過(guò)的命令的數(shù)目,RedHat中可記錄1000個(gè)

  USER=root                   //當(dāng)前用戶(hù)名稱(chēng)

  LS_COLORS                   //顏色設(shè)置

  PATH                        //執(zhí)行文件命令搜索路徑.目錄之間以冒號(hào)分隔.注意,文件的搜索是按PATH的值來(lái)查詢(xún).

  PWD                         //當(dāng)前用戶(hù)所在的工作目錄

  LANG                        //與語(yǔ)系有關(guān)

  HOME       

;                //用戶(hù)的家目錄(進(jìn)入用戶(hù)的家目錄:cd ~或cd)

  2、列出所有變量(包括自定義變量):#set

  在Linux中,默認(rèn)情況下使用{大寫(xiě)字母}來(lái)設(shè)置的變量一般為系統(tǒng)內(nèi)定需要的變量.

  PS1                         //(數(shù)字1而不是英文字母)Linux命令提示符的設(shè)置

  {GetProperty(Content)}nbsp;                          //本Shell的PID(Process ID).查詢(xún)Shell的PID,使用#echo $

  3、自定義的變量轉(zhuǎn)變?yōu)榄h(huán)境變量:#export

  (1)#export

  將所有的環(huán)境變量都顯示出來(lái).

  (2)Linux中的變量可分為環(huán)境變量和自定義變量.兩者的區(qū)別在于環(huán)境變量對(duì)于用戶(hù)來(lái)說(shuō)是透明的,即可以在任何一個(gè)程序中使用這些環(huán)境變量.而自定義變量只在當(dāng)前Shell中有效,關(guān)閉了當(dāng)前Shell,該變量便無(wú)效.所以為了能使自定義的變量在任何程序中都可以使用,可以使用export在系統(tǒng)的配置文件/etc/profile、/etc/.bashrc中聲明該變量.

  export聲明變量的格式:   #export 變量名

  4、從(鍵盤(pán))鍵盤(pán)獲取變量:read

  要讀取來(lái)自鍵盤(pán)輸入的變量,就是用read命令.該命令常用在Shell腳本的編寫(xiě)中,與用戶(hù)進(jìn)行對(duì)話.

  命令格式:  #read [-pt] 變量名

  參數(shù)說(shuō)明:  -p    后接提示符

  -t    后接等待的"秒數(shù)"

  例程:

  1、讓用戶(hù)從(終端)鍵盤(pán)輸入內(nèi)容,并將輸入的內(nèi)容賦給該變量.輸入該變量后,Linux系統(tǒng)自動(dòng)提示用戶(hù)輸入.

  [root@localhost root]# read yhy      //將輸入的內(nèi)容(this is a test!)賦給了變量yhy

  this is a test!

  [root@localhost root]# echo $yhy

  this is a test!

  2、提示用戶(hù)10秒內(nèi)輸入自己的名字,并顯示出友好界面.

  [root@localhost root]# read -p "Please input your name:" -t 10 named

  此時(shí),系統(tǒng)提示:

  Please input your name: lss

  [root@localhost root]# echo $named   //將輸入的內(nèi)容(lss)賦給了變量named

  lss

  5、利用declare聲明變量

  在Linux中,使用declare聲明一個(gè)變量的類(lèi)型.

  命令格式:  #declare [-aixr] 變量名

  參數(shù)說(shuō)明:  -a   聲明該變量為數(shù)組(array)

  -i   聲明該變量為整型(integer)

  -x   將該變量變成環(huán)境變量,功能類(lèi)似于export

  -r   將該變量設(shè)置為只讀,即變量?jī)?nèi)容不能更改,也不能取消(unset)

  例程:

  1、[root@localhost root]# sum=30+50+-120

  [root@localhost root]# echo $sum

  30+50-120

  [root@localhost root]# declare -i sum=30+50-120

  -40

  注:declare -i類(lèi)似于C語(yǔ)言中將變量sum聲明為整型變量.

  2、將sum變成環(huán)境變量

  [root@localhost root]# delcare -x sum     //相當(dāng)于export sum

  3、讓變量sum變成只讀屬性,不可更改

  [root@localhost root]# declare -r sum

  [root@localhost root]# sum=30+50+120

  -bash:sum,readonly variable

  6、限制文件系統(tǒng)與程序

  若10個(gè)人同時(shí)登錄某Linux主機(jī),這10個(gè)人同時(shí)打開(kāi)了100個(gè)文件,每個(gè)文件大小約10MB,則需要Linux主機(jī)內(nèi)存為10*10*100=10GB.這會(huì)導(dǎo)致Linux主機(jī)死機(jī).為此,為了防止這種情況的發(fā)生,Linux中用ulimit命令來(lái)限制用戶(hù)的某些系統(tǒng)資源,包括打開(kāi)的文件數(shù)量、可以使用的CPU的時(shí)間、可以使用的內(nèi)存總量等.

  [root@localhost root]# ulimit -f 1024         //限制用戶(hù)僅能建立1MB以下容量的文件

  [root@localhost root]# ulimit -a              //列出所有的限制數(shù)據(jù)

  7、命令別名的設(shè)

  當(dāng)命令特別長(zhǎng)的時(shí)候,可以使用別名來(lái)設(shè)置新的命令.

  命令格式: #alias 命令

  例程:

  當(dāng)查詢(xún)隱藏文件時(shí),可以使用#ls -l | more來(lái)查詢(xún),但這樣輸入命令非常的繁瑣.因此可以這樣來(lái)操作:

  # alias  lm='ls -l | more'

  這樣就立刻多了一個(gè)可執(zhí)行的命令,該命令的名稱(chēng)是lm,它執(zhí)行的是ls -l | more.

  # alias  vim=vi

  這樣執(zhí)行vim編輯器就等效于vi編輯器.

  8、查詢(xún)執(zhí)行過(guò)的命令

  在Linux中可以使用history命令來(lái)查詢(xún)用戶(hù)以往曾經(jīng)使用過(guò)的命令.

  [root@localhost root]# history        //查詢(xún)所有曾經(jīng)使用過(guò)的命令

  [root@localhost root]# history 3      //列出當(dāng)前最近使用過(guò)的3個(gè)命令

  [root@localhost root]# history -w     //將歷史記錄寫(xiě)入~/.bash_history中

來(lái)源:網(wǎng)絡(luò)搜集//所屬分類(lèi):Linux教程/更新時(shí)間:2011-12-08
相關(guān)Linux教程