Shell變量:Shell變量的定義、刪除變量、只讀變量、變量類型

  定義變量
linux

    定義變量時,變量名不加美圓符號($),如:web

    variableName="value"shell

    注意,變量名和等號之間不能有空格,這可能和你熟悉的全部編程語言都不同。同時,變量名的命名須遵循以下規則:編程

    首個字符必須爲字母(a-z,A-Z)。bash

    中間不能有空格,能夠使用下劃線(_)。編程語言

    不能使用標點符號。spa

    不能使用bash裏的關鍵字(可用help命令查看保留關鍵字)。orm

    使用變量ci

    使用一個定義過的變量,只要在變量名前面加美圓符號($)便可get

    變量名外面的花括號是可選的,加不加都行,加花括號是爲了幫助解釋器識別變量的邊界。

    從新定義變量

    已定義的變量,能夠被從新定義,如:

    myUrl="http://see.xidian.edu.cn/cpp/linux/"

    echo${myUrl}

    myUrl="http://see.xidian.edu.cn/cpp/shell/"

    echo${myUrl}

    這樣寫是合法的,但注意,第二次賦值的時候不能寫$myUrl="http://see.xidian.edu.cn/cpp/shell/",使用變量的時候才加美圓符($)。

    只讀變量

    使用readonly命令能夠將變量定義爲只讀變量,只讀變量的值不能被改變。

    下面的例子嘗試更改只讀變量,結果報錯:

    #!/bin/bash

    myUrl="http://see.xidian.edu.cn/cpp/shell/"

    readonlymyUrl

    myUrl="http://see.xidian.edu.cn/cpp/danpianji/"

    運行腳本,結果以下:

    /bin/sh:NAME:Thisvariableisreadonly.

    變量類型

    運行shell時,會同時存在三種變量:

    1)局部變量

    局部變量在腳本或命令中定義,僅在當前shell實例中有效,其餘shell啓動的程序不能訪問局部變量。

    2)環境變量

    全部的程序,包括shell啓動的程序,都能訪問環境變量,有些程序須要環境變量來保證其正常運行。必要的時候shell腳本也能夠定義環境變量。

    3)shell變量

    shell變量是由shell程序設置的特殊變量。shell變量中有一部分是環境變量,有一部分是局部變量,這些變量保證了shell的正常運行

    

    刪除變量

    使用unset命令能夠刪除變量。語法:

    unsetvariable_name

    變量被刪除後不能再次使用;unset命令不能刪除只讀變量。

相關文章
相關標籤/搜索