歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux Shell變量使用

一、本地變量的使用
       
        本地變量就如同局部變量一樣,只在本SHELL中起作用。它不會影響到其他SHELL中的變量。

        1。顯示變量值
        可以使用echo命令。需要注意的是,使用變量的時候必須在變量名前加上$符號
        2。清除變量
        使用unset命令可以清除命令。
        3。顯示所有本地SHELL變量
        SHELL中預定義了一些環境變量。要想顯示這些命令,可以使用set命令。
        另外,用戶自己已經定義過的本地變量也會在其中顯示。
        4。測試變量是否已經賦值
        ${variable:-value}
        如果變量已經賦值,則使用該變量值。如果變量為空,則使用value。需要注意的是,value並不賦給variable。
        ${variable:=value}
        該表達式上面的區別就是,如果variable為空,則value賦給variable。

        如果需要檢驗變量是否為空,如果為空的話則顯示帶有系統錯誤信息,則使用下面的表達式:
        ${variable:?}
        如果需要顯示自己定義的信息,則如下:
        ${variable:?"customed message "}

        5。設置只讀變量
        使用readonly可以將變量定義成只讀。
        readonly variable
        單獨執行readonly可以顯示所有的只讀變量。

        二、環境變量
       
        環境變量用於所有的用戶進程。在Linux中,登陸進程稱為父進程,shell中執行的用戶程序均稱為子進程。
        環境變量可以在命令行中設置,但用戶注銷時這些值將丟失。因此最好在$HOME/目錄下的.profile中定義。
        傳統上環境變量均為大寫。環境變量應用於用戶進程之前,必須用export命令導出。設置方法與本地變量設置方法相同。
        1。顯示環境變量
        使用env命令可以察看所有環境變量
        2。潛入SHELL變量
        EXINIT保存使用vi編輯器的初始化選項。比如要顯示行號,則如下:
        EXINIT='set nu';export EXINIT
        HOME:用於記錄用戶的主目錄;
        IFS:用作shell指定的缺省域分隔符。
        PATH:保存進行命令或腳本查找的目錄順序。可以在.profile中進行設置。
        3。將變量導出到子進程
        在父腳本中使用export命令可以將變量導出,這樣子腳本便可以知道該變量的值。

        三、位置變量參數
       
        在向腳本傳遞參數時,可以使用此位置變量來獲取參數。
        他們分別是:
        {GetProperty(Content)}:腳本名字。此變量包含地址,可以使用basename {GetProperty(Content)}獲得腳本名稱。
        {GetProperty(Content)}:第一個參數
        $2,$3,$4,$5,...一次類推。

        四、特定變量參數
       
        一些腳本運行的相關控制信息
        $# 傳遞到腳本的參數個數
        $* 以一個單字符串顯示所有向腳本傳遞的參數
        $ 腳本運行的ID號
        $! 後台運行的最後一個進程的ID號
        $@ 與$#相同,但是使用時加引號,並在引號中返回每個參數。
        $- 顯示shell使用的當前選項。
        $? 顯示最後命令的推出狀況。0表示沒有錯誤。

 

Copyright © Linux教程網 All Rights Reserved