Shell declare和typeset命令:設置變量屬性
declare 和 typeset 都是 shell 內建命令,它們的用法相同,都用來設置變量的屬性。不過 typeset 已經被棄用了,建議使用 declare 代替。
declare 命令的用法如下所示:
【實例1】將變量聲明為整數并進行計算。
40
【實例2】將變量定義為只讀變量。
【實例3】顯示變量的屬性和值。
declare 命令的用法如下所示:
declare [+/-] [aAfFgilprtux] [變量名=變量值]
其中,-
表示設置屬性,+
表示取消屬性,aAfFgilprtux
都是具體的選項,它們的含義如下表所示:選項 | 含義 |
---|---|
-f [name] | 列出之前由用戶在腳本中定義的函數名稱和函數體。 |
-F [name] | 僅列出自定義函數名稱。 |
-g name | 在 Shell 函數內部創建全局變量。 |
-p [name] | 顯示指定變量的屬性和值。 |
-a name | 聲明變量為普通數組。 |
-A name | 聲明變量為關聯數組(支持索引下標為字符串)。 |
-i name | 將變量定義為整數型。 |
-r name[=value] | 將變量定義為只讀(不可修改和刪除),等價于 readonly name。 |
-x name[=value] | 將變量設置為環境變量,等價于 export name[=value]。 |
【實例1】將變量聲明為整數并進行計算。
#!/bin/bash declare -i m n ret #將多個變量聲明為整數 m=10 n=30 ret=$m+$n echo $ret運行結果:
40
【實例2】將變量定義為只讀變量。
[c.biancheng.net]$ declare -r n=10 [c.biancheng.net]$ n=20 bash: n: 只讀變量 [c.biancheng.net]$ echo $n 10
【實例3】顯示變量的屬性和值。
[c.biancheng.net]$ declare -r n=10 [c.biancheng.net]$ declare -p n declare -r n="10"
beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。
通俗易懂,深入淺出,一篇文章只講一個知識點。
文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。
文章不涉及代碼,不燒腦細胞,人人都可以學習。
當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!