日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux变量最大长度,51CTO博客-专业IT技术博客创作平台-技术成就梦想

發布時間:2025/3/11 linux 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux变量最大长度,51CTO博客-专业IT技术博客创作平台-技术成就梦想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

變量操作總結:

${Var:-Value} ? ? ? ?變量Var 為unset 或 null ?則輸出Value。 有值則輸出變量Var的值。

${Var:=Value}????????變量Var 為unset 或 null ?則輸出Value,并且賦值于變量Var。 同上。

${Var:+Value}????????變量Var 為unset 或 null ?則輸出變量Var。 有值則輸出Value.

${Var:?Value}????????變量Var 為unset 或 null ?則輸出錯誤信息Value。有值則輸出變量Var的值。

${Var-Value} ? ? ? ?變量Var 為 unset 則輸出Value。 有值或為空,則輸出變量Var的值。

${Var=Value}????????變量Var 為 unset 則輸出Value,并且賦值于變量Var。????????同上。

${Var+Value}????????變量Var 為 unset 則輸出變量Var。有值或為空,則輸出Value

${Var?Value}????????變量Var 為 unset 則輸出錯誤信息Value。 有值或為空, 則輸出變量Var。

在這種的操作中,只有三種情況:1. 變量有值, 2. 變量沒有值, ?3. 沒有變量

在上面加:的操作符中, 空不代表值, ? ?在沒有:號的操作符中,空也代表為值。

${變量} ? ? ?一般變量引用。 ?{} 一般情況可省略。

${#變量} ? ? 取變量中字符的個數(長度)。

bash腳本就是由bash提供的,變量當然也是bash提供的了。

所以bash的glob通配符也可以在大部分里使用。

一、 變量值的編輯:

1. 變量字符匹配則不輸出。?? 2. 變量內容字符偏移并截出余下的部分字符。

3. 變量字符的替換。

1. ?所匹配到的變量內容將不顯示。

操作符:#???????????????? ${變量#匹配字符}$?do="Hello?World"

$?echo?$do

Hello?World

$?echo?${do#He}

llo?World????????????????????#He沒有顯示

$?echo?${do#*l}

lo?World?????????????????????#從左到右匹配

#號在上面那種變量應用中,把左邊變量的值,按右邊的字符串從左到右最短區配,

所區配到的字符不輸出。 支持通配符,如?。

操作符:?##$?echo?${do##*l}

d????????????????????????#變量的值是Hello?World,?從左邊一直匹配到倒數第二個字符l.

##號,這個則就是最長區配了。?? 記住是從左到右的區配順序。

操作符:%????????? ?${變量%匹配字符}$?echo?$do

Hello?World

$?echo?${do%ld}

Hello?Wor

$?echo?${do%o*}

Hello?W

%號跟上面#號的形式都一樣,只不過是從右到左的匹配。 同樣的一個%號是?最短區配

操作符:%%$?echo?${do%%o*}

Hell

%%號,兩個%號,最長區配。? 通配符都是支持的。 畢竟都是在shell下,經由shell解釋輸出。

2.? 上面的 # % 都是用來定義匹配變量內容的操作。而下面是用來定義固定的字符的操作。

${變量:數字}$?echo?$do

Hello?World

$?echo?${do:3}

lo?World????????????????????#變量內容的前三個字符沒有顯示。

前面的3個字符沒有輸出, 專業點叫作 偏移 , 向右偏移了3個字符。

$?echo?${do:3:2}

lo

$?echo?${do:3:5}

lo?Wo

在上面偏移的基礎上,再顯示向后截取的幾位字符。 空格可也是字符啊。

3. ?替換變量內容。

${變量/匹配字符/替換字符}$?echo?${do/l/L}

HeLlo?World

把第一個匹配到的字符,也就是l , 替換成大寫L .

這里是只替換了第一個匹配到的字符。如果把變量后面的/變成兩個,就變成替換所有了。

${變量//匹配字符/替換字符}$?echo?${do//l/L}

HeLLo?WorLd

替換了所有的l,這里也是可以用通配符的, 但是這里沒有最長最短匹配之說,只有替換1個還是替換所有的字符。至于效果,親們可以自己試試。

二、 變量....., 不知道叫什么名了。

在這種的操作中,只有三種情況:1. 變量有值, 2. 變量沒有值, ?3. 沒有變量

注意: 一般情況下,變量為空也是一種值。 除非有特殊的操作。

do= ? ? ????? ? ?do變量有值了。

declare ?var???? 生成了var變量,但var變量沒有值。

1.? ${變量-值}

里面的是減號。? 那個值當然也可以用變量,不過要加上$,相當于變量引用。-號的左邊和右邊完全是不同的兩個部分。

$?echo?$do

Hello?World

$?echo?${do-kaka}??????????????#在do有值的情況下,輸出do的值。

Hello?World

$?unset?do?????????????????????#刪除變量do

$?echo?${do-kaka}??????????????#在沒有do變量的情況下,也就是沒有值。則輸出后面的值。

kaka

$?do=??????????????????????????#在do為空的情況下。

$?echo?${do-kaka}??????????????#在do有值的情況下,輸出do的值,do是空值。

#所以輸出空。

這個的別一種方式一般在判斷默認值的時候用。如: do=${do:-kaka}

2.? ${變量=值}?? 里面是等號。$?echo?$do

Hello?World

$?echo?${do=kaka}????????????????#在do有值的情況下,輸出do的值。

Hello?World

$?unset?do

$?echo?${do=kaka}????????????????#在沒有do變量的情況下,或沒有值。輸出后面的值

kaka

$?echo?$do

kaka?????????????????????????????#并且把kaka賦給變量do。

比 - 多了一項功能,只要在變量,就會把kaka賦給do。

3.? ${變量+值}? ?里面是加號。$?echo?$do

Hello?World

$?echo?${do+kaka}??????????????#do有值的情況下,輸出kaka

kaka

$?unset?do

$?echo?${do+kaka}??????????????#在沒有do這個變量的情況下或者沒有值。那就沒有吧。

$?do=

$?echo?${do+kaka}??????????????#空值,輸出kaka

kaka

看樣子正好與 - 相反, 這個是變量有值則用后面的值,而 - 號是沒值則用后面的值。

4. ?${變量?值}$?echo?$do

Hello?World

$?echo?${do?kaka}

Hello?World

$?unset?do

$?echo?${do?kaka}??????????????#?看到了沒,在沒有do這個變量的情況下或者沒有值。

#?提示錯誤信息是?kaka

bash:?do:?kaka

$?do=

$?echo?${do?kaka}

除了沒有值的情況下會報錯,并且報錯信息是kaka外,就沒有別的了。

下面還是關于 - = + ? 的,不過變成了 :-? :=? :+? :??? 。

不一樣之處就是把空值給抹去了,從此以后空就真的空了, 空不再代表值而存在,

而是跟unset一樣。

這里說明一下, 以shell來說。其實unset就是把變量的內存空間的地址給撤銷了,

而變量空值,就是有變量的內存空間地址,不過內存空間里面沒有數據。

1.? ${變量:-值}$?echo?$do

Hello?World

$?echo?${do:-kaka}

Hello?World

$?unset?do

$?echo?${do:-kaka}???????????????#沒有do變量,同樣的相當于沒有值。?輸出kaka

kaka

$?do=

$?echo?${do:-kaka}????????????????#空不再代表值,?在do沒有值的情況下

#輸出kaka

kaka

怎么樣,區別只有一點, 空不再代表值了。

2. ${變量:=值}$?echo?$do

Hello?World

$?echo?${do:=kaka}

Hello?World

$?echo?$do

Hello?World

$?unset?do

$?echo?${do:=kaka}

kaka

$?echo?$do

kaka

$?do=

$?echo?${do:=kaka}??????????????????#空不再代表值,所以輸出kaka

kaka

$?echo?$do

kaka

還是那個意思,kaka輸出,并且賦值給了do。??? 空不再代表值了。

3. ${變量:+值}$?echo?$do

Hello?World

$?echo?${do:+kaka}????????????????#在do有值的情況下,輸出kaka

kaka

$?unset?do

$?echo?${do:+kaka}????????????????#在do不存在的時候,也就是沒有值。?輸出do的值,

#而do的值當然是不存在的,輸出空白行。

$?do=

$?echo?${do:+kaka}????????????????#do為空,空不再代表值。?沒有值就不會輸出后面的值。

#同樣的空白行。

+ 號是有值才會用后面的那個值的。 跟-號正好相反。

4. ${變量:?值}$?echo?$do

Hello?World

$?echo?${do:?kaka}

Hello?World

$?unset?do

$?echo?${do:?kaka}???????????????????#沒有do變量,當然沒有值,報kaka錯誤。

bash:?do:?kaka

$?do=

$?echo?${do:?kaka}???????????????????#do為空,代表沒有值。?報kaka錯誤。

bash:?do:?kaka

這個跟-號也差不多了, 只不過還里是輸出的錯誤信息。

good boy, nice girl.

總結

以上是生活随笔為你收集整理的linux变量最大长度,51CTO博客-专业IT技术博客创作平台-技术成就梦想的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。