第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我們什么時(shí)候需要shell變量的大括號(hào)?

我們什么時(shí)候需要shell變量的大括號(hào)?

炎炎設(shè)計(jì) 2019-06-24 10:06:23
我們什么時(shí)候需要shell變量的大括號(hào)?在shell腳本中,我們何時(shí)使用{}當(dāng)展開變量的時(shí)候?例如,我看到了以下情況:var=10        # Declare variableecho "${var}" # One use of the variableecho "$var"   # Another use of the variable是有很大的不同,還是只是風(fēng)格?一個(gè)比另一個(gè)更好嗎?
查看完整描述

3 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

在這個(gè)特殊的例子中,它沒有什么區(qū)別。但是,{}在……里面${}如果要展開變量,則此方法非常有用。foo在弦中

"${foo}bar"

"$foobar"將展開由foobar.

在下列情況下也無條件地需要花括號(hào):

  • 展開數(shù)組元素,如

    ${array[42]}

  • 使用參數(shù)展開操作,如

    ${filename%.*}

    (移除分機(jī))
  • 將位置參數(shù)擴(kuò)展到9之后:

    "$8 $9 ${10} ${11}"

在任何地方都這樣做,而不是僅僅在可能不明確的情況下,能,會(huì),可以被認(rèn)為是好的編程實(shí)踐。這既是為了一致性,也是為了避免像$foo_$bar.jpg,從視覺上看,下劃線是否成為變量名的一部分并不明顯。


查看完整回答
反對(duì) 回復(fù) 2019-06-24
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊

變量被聲明并賦值$沒有{}..你必須用

var=10

分配。為了讀取變量(換句話說,“展開”變量),必須使用$.

$var      # use the variable${var}    # same as above${var}bar # expand var, and append "bar" too$varbar  
 # same as ${varbar}, i.e expand a variable called varbar, if it exists.

這有時(shí)讓我感到困惑-在其他語言中,我們以同樣的方式引用變量,不管它是在賦值的左邊還是右邊。但是shell腳本是不同的,$var=10不會(huì)像你想的那樣做!


查看完整回答
反對(duì) 回復(fù) 2019-06-24
?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

你用{}為了分組。取消引用數(shù)組元素需要大括號(hào)。例子:

dir=(*)           # store the contents of the directory into an arrayecho "${dir[0]}"  # get the first entry.echo "$dir[0]"    
# incorrect


查看完整回答
反對(duì) 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 1615 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)