溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么進(jìn)行Shell 變量學(xué)習(xí)

發(fā)布時(shí)間:2021-11-05 09:58:39 來源:億速云 閱讀:113 作者:柒染 欄目:建站服務(wù)器

怎么進(jìn)行Shell 變量學(xué)習(xí),相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

Shell 是一個(gè)用 C 語言編寫的程序,它是用戶使用  Linux 的橋梁。Shell 既是一種 命令語言,又是一種程序設(shè)計(jì)語言。
Shell 是指一種應(yīng)用程序,這個(gè)應(yīng)用程序提供了一個(gè)界面,用戶通過這個(gè)界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。

怎么進(jìn)行Shell 變量學(xué)習(xí)

定義變量時(shí),變量名不加美元符號(hào)($,PHP語言中變量需要),如:

your_name="runoob.com"

注意,變量名和等號(hào)之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時(shí),變量名的命名須遵循如下規(guī)則:

命名只能使用英文字母,數(shù)字和下劃線,首個(gè)字符不能以數(shù)字開頭。
中間不能有空格,可以使用下劃線(_)。
不能使用標(biāo)點(diǎn)符號(hào)。
不能使用bash里的關(guān)鍵字(可用help 命令查看保留關(guān)鍵字)。
有效的 Shell 變量名示例如下:

RUNOOB
LD_LIBRARY_PATH
_var
var2

無效的變量命名:

?var=123
user*name=runoob

除了顯式地直接賦值,還可以用語句給變量賦值,如:

for file in `ls /etc`
或
for file in $(ls /etc)

以上語句將 /etc 下目錄的文件名循環(huán)出來。

使用變量

使用一個(gè)定義過的變量,只要在變量名前面加美元符號(hào)即可,如:

your_name="qinjx"
echo $your_name
echo ${your_name}

變量名外面的花括號(hào)是可選的,加不加都行,加花括號(hào)是為了幫助解釋器識(shí)別變量的邊界,比如下面這種情況:

for skill in Ada Coffe Action Java; do
echo "I am good at ${skill}Script"
done

如果不給skill變量加花括號(hào),寫成echo "I am good at $skillScript",解釋器就會(huì)把$skillScript當(dāng)成一個(gè)變量(其值為空),代碼執(zhí)行結(jié)果就不是我們期望的樣子了。

推薦給所有變量加上花括號(hào),這是個(gè)好的編程習(xí)慣。

已定義的變量,可以被重新定義,如:

your_name="tom"
echo $your_name
your_name="alibaba"
echo $your_name

這樣寫是合法的,但注意,第二次賦值的時(shí)候不能寫$your_name="alibaba",使用變量的時(shí)候才加美元符($)。

只讀變量

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

下面的例子嘗試更改只讀變量,結(jié)果報(bào)錯(cuò):

#!/bin/bash
myUrl="http://www.google.com"
readonly myUrl
myUrl="http://www.runoob.com"

運(yùn)行 腳本,結(jié)果如下:

/bin/sh: NAME: This variable is read only.

刪除變量

使用 unset 命令可以刪除變量。語法:

unset variable_name

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

實(shí)例

#!/bin/sh
myUrl="http://www.runoob.com"
unset myUrl
echo $myUrl

以上實(shí)例執(zhí)行將沒有任何輸出。

變量類型

運(yùn)行shell時(shí),會(huì)同時(shí)存在三種變量:

1) 局部變量 局部變量在 腳本或命令中定義,僅在當(dāng)前shell實(shí)例中有效,其他shell啟動(dòng)的程序不能訪問局部變量。
2) 環(huán)境變量 所有的程序,包括shell啟動(dòng)的程序,都能訪問環(huán)境變量,有些程序需要環(huán)境變量來保證其正常運(yùn)行。必要的時(shí)候shell腳本也可以定義環(huán)境變量。
3) shell變量 shell變量是由shell程序設(shè)置的特殊變量。shell變量中有一部分是環(huán)境變量,有一部分是局部變量,這些變量保證了shell的正常運(yùn)行

看完上述內(nèi)容,你們掌握怎么進(jìn)行Shell 變量學(xué)習(xí)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI