<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數據加載中……

    Bash中的變量

    1.用戶定義的變量
      用戶定義的變量有字母數字及下劃線組成,并且變量名的第一個字符不能為數字.
    與其它UNIX名字一樣,變量名是大小寫敏感的.
      對于變量,用戶可按如下方式賦值:
      name = value
      在引用變量時,需在前面加$符號,用戶也可以在變量間進行相互賦值,如:
      (前面的$是命令提示符)
      
      $ JOHN = john
      $ NAME = $JOHN
      $ echo Hello $NAME
      Hello john
      
      也可以用變量和其他字符組成新的字,這時可能需要把變量用{}括起,如:

      $ SAT = Satur
      $ echo Today is ${SAT}day
      Today is Saturday

      對于未賦值的變量,Bash以空值對待,用戶也可以用unset命令清除給變量
      賦的值.
      
      Bash中還可以使用數組變量,其賦值有兩種:
      
      (1) name[index] = value
      (2) name = (value1 ... valuen) 此時下標從0開始
      
      數組下標的范圍沒有任何限制,同時也不必使用連續的分量.
      
      Bash中關于變量的內建命令有:
      
      (1) declare和typeset.兩者具有一樣的功能.其選項有:
          [-/+]a    設置/撤消變量的數組屬性
          [-/+]i    設置/撤消變量的整數屬性
          [-/+]r    設置/撤消變量的只讀屬性
          [-/+]x    設置/撤消變量的輸出屬性
          -p var    顯示變量屬性
      (2) export和local.
          export把變量輸出到環境中,用法為:
          export name
          export name = value         

          這里需要簡單介紹一下export的作用:當Bash shell執行一個
          程序時,將首先為該程序建立一個新的執行環境,稱為子shell,
          在Bash Shell中變量都是局部的,即它們只是在創建它們的子
          Shell中是有意義的,使用export后,變量被設置為全局變量,這
          時可以被其它子Shell所識別

          local標記變量為局部的(如只能被函數內部使用),用法為:
          local name
          local name = value
      (3) readonly.
          指定變量為只讀,執行后,改變量不能被再次賦值,用法為:
          readonly name

    2.位置變量或Shell參數
      Bash Shell在解釋用戶命令時,將把命令行的第一個子作為命令,而其它字作為
    參數通過位置變量傳遞給程序.$1,...,$9分別代表第一,...,九個參數.其中1-9
    是真正的參數名,"$"符只是用來標識變量的替換.
      位置變量$0指命令對應的可執行名.
      其它的還有:
      $#    送給命令的參數個數
      $@    所有的參數,每個用雙括號括起
      $*    所有的參數,用雙括號括起
    3.與Shell有關的變量
     (1) Shell自身設置的一些常用變量:
       LINENO       正在執行的命令在腳本中的行號
       PWD          用戶當前目錄的全名
       OLDPWD       最近一次執行cd之前,用戶當前目錄的全名
       PPID         父進程ID
       $            當前進程ID
       RANDOM       隨機數(范圍0-32767)
       SECONDS      Bash Shell的運行時間,單位是秒
       REPLY        select和read命令使用,以后會講到
       OPTARG
       ORTIND       這兩個變量由getopt命令設置
       UID          當前用戶的User ID
       _            上一條命令使用的最后一個參數
     (2) 影響Shell行為的一些常用環境變量:
       PATH         命令搜索路徑,以冒號為分隔符.注意與DOS下不同的是,
                    當前目錄不在系統路徑里
       HOME         用戶home目錄的路徑名,是cd命令的默認參數
       COLUMNS      定義了命令編輯模式下可使用命令行的長度
       EDITOR       默認的行編輯器
       VISUAL       默認的可視編輯器
       FCEDIT       命令fc使用的編輯器
       HISTFILE     命令歷史文件
       HISTSIZE     命令歷史文件中最多可包含的命令條數
       HISTFILESIZE 命令歷史文件中包含的最大行數
       IFS          定義SHELL使用的分隔符
       LOGNAME      用戶登錄名
       MAIL         指向一個需要SHELL監視其修改時間的文件.當該文件修改后,
                    SHELL將發消息You hava mail給用戶
       MAILCHECK    SHELL檢查MAIL文件的周期,單位是秒
       MAILPATH     功能與MAIL類似.但可以用一組文件,以冒號分隔,每個文件后
                    可跟一個問號和一條發向用戶的消息
       SHELL        SHELL的路徑名
       TERM         終端類型
       TMOUT        SHELL自動退出的時間,單位為秒,若設為0則禁止SHELL自動退出
       PROMPT_COMMAND       指定在主命令提示符前應執行的命令
       PS1          主命令提示符
       PS2          二級命令提示符,命令執行過程中要求輸入數據時用
       PS3          select的命令提示符
       PS4          調試命令提示符
       MANPATH      尋找手冊頁的路徑,以冒號分隔
       LD_LIBRARY_PATH      尋找庫的路徑,以冒號分隔

    from: http://www.7880.com/Info/Article-cbb4700.html

    posted on 2005-12-25 15:43 weidagang2046 閱讀(317) 評論(0)  編輯  收藏 所屬分類: Linux

    主站蜘蛛池模板: 亚洲五月六月丁香激情| 亚洲日本va午夜中文字幕久久| 亚洲综合无码一区二区| 国产黄在线播放免费观看| 高清国语自产拍免费视频国产| 两性刺激生活片免费视频| 午夜在线免费视频| 日韩亚洲国产二区| 亚洲精品中文字幕无码AV| 亚洲乱码一二三四区乱码| 亚洲精品无码久久| 120秒男女动态视频免费| 亚洲av无码一区二区三区网站| 精品国产亚洲男女在线线电影| 亚洲18在线天美| 久久WWW免费人成—看片| 四虎精品亚洲一区二区三区| 久久久亚洲裙底偷窥综合| 成av免费大片黄在线观看| 日韩免费无砖专区2020狼| 亚洲国产精品乱码在线观看97| 曰韩无码AV片免费播放不卡| 国产一区二区三区免费在线观看| 亚洲免费视频播放| 嫩草成人永久免费观看| 国产性爱在线观看亚洲黄色一级片| 亚洲午夜无码久久久久软件| 日韩精品久久久久久免费| 久久久久亚洲精品无码系列| 久久久WWW免费人成精品| www国产亚洲精品久久久日本| 亚洲欧好州第一的日产suv| 亚洲高清中文字幕免费| 久久久久亚洲AV片无码下载蜜桃 | 亚洲AV无码乱码国产麻豆穿越| 一区二区三区免费视频播放器| 免费一级毛片在级播放| 日韩亚洲综合精品国产| 日本免费一区二区三区最新| 亚洲欧美日韩中文无线码| 精品剧情v国产在免费线观看|