顧名思義,使用者自定義,也就是使用者自己定義的變數,在一定的範圍內,你可以隨意定義,而那個範圍就是使用者變數定義格式。
變數格式:
變數名,由字母或下劃線打頭,不允許數字開頭,後面由字母、數字或下劃線組成,並且大小寫字母意義不同。
變數賦值,在「=」後邊直接指定變數內容是為變數賦值的最基本方法,注意,「=」兩邊沒有空格。
一些常見的錯誤:
[root@linus ~
]# 1=2
bash:1=
2: 未找到命令...
[root@linus ~
]# 1=2
bash:
1: 未找到命令...
[root@linus ~
]# a=
2bash: a: 未找到命令...
[root@linus ~
]# a=
2
在使用變數時,需在變數名前加$。我在學習的時候就有乙個疑問,到底為什麼需要加上$符號。難道是指令碼宣告類似的約定俗成嗎?可是不加的話就會報錯,這就和指令碼宣告不一樣了。
後來我才知道,很多命令無法讀取變數中的資料,所以需要使用$符號進行呼叫,而有些命令可以直接讀取,則不需要加上$符號。刪除命令unset就是乙個例子,不管加還是不加,都不影響其功能。
[root@linus ~
]# unset $a
[root@linus ~
]# unset a
而一些無法讀取的命令,若不加上$符號,將無法讀取其中的資料。
[root@linus ~
]# echo $a
hhh[root@linus ~
]# echo a
a
雖說在規範下可以為所欲為地建立變數,但是,千萬要注意,對於系統提前定義好的環境變數,不要亂對其修改,否則將會影響自己正常使用。
使用env可檢視系統提前定義好的環境變數。
比如說,環境變數lang,是中國字符集,若進行更改,可以導致其喪失功能。
[root@linus ~
]# echo $lang
zh_cn.
utf-
8[root@linus ~
]# asdad
bash: asdad: 未找到命令...
[root@linus ~
]# lang
=hhh
[root@linus ~
]# asdad
bash: asdad: command not found...
對於這種情況,把更改的變數還原即可。
[root@linus ~
]# lang
=zh_cn.
utf-
8[root@linus ~
]# asdad
bash: asdad: 未找到命令...
shell程式設計 使用者自定義變數
shell程式設計中變數的一種 使用者自定義變數 echo hello uname 結果顯示 hello echo hello 結果顯示 hello there echo uname 結果顯示 空 uname john echo hello 結果顯示 hello john 可以看出,變數替換時將使用...
mysql 使用者自定義變數
這裡面詳細的介紹了怎麼使用自定義變數 我這裡本是發出一些疑問 set rownum 0 select disease,rn,rownum,rownum rownum 1 as cmt from disease code where rownum 1 結果 disease rn rownum cmt ...
shell指令碼如何自定義函式
在寫程式時,經常會用到函式,一般開發工具擁有豐富的函式庫。但有時還需要根據自己的需要自定義函式滿足我們的需求。在linux中,寫shell指令碼也一樣,有時會用到自定義函式。函式,最簡單的定義為 將一組命令集或語句形成乙個可用塊,這些塊稱為函式。1 定義函式的格式 sql view plain co...