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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

誰能解釋下下面的輸出,為什么是yes?

[root@CentOS6 ~]# a="3"

[root@CentOS6 ~]# [ -n $a ] && echo yes || echo no

yes

[root@CentOS6 ~]# [ -n "$a" ] && echo yes || echo no

yes


正在回答

2 回答

&& 的作用是:前面的命令成功執(zhí)行的話,就再執(zhí)行后面的命令。若前面的命令失敗就不執(zhí)行后面的命令了。

|| 的作用是:前面的命令失敗的話,就再執(zhí)行后面的命令。若前面的命令成功執(zhí)行,就不再執(zhí)行后面的命令了。

[ ] 括起來的是個(gè)判斷語句,-n 用來判斷后面字符串的長度是否大于零,這里就用來判斷a這個(gè)參數(shù)是否賦過值。

$a"$a" 這兩個(gè)寫法在這里沒有區(qū)別,bash shell中默認(rèn)把他們都作為字符串,加上雙引號只是指明了這是字符串。如果字符串中有空格之類的間隔,那么加上雙引號才會(huì)被認(rèn)為是一個(gè)字符串,否則就是用空格隔開的多個(gè)字符串了。

所以這語句就是判斷a變量有沒有值,因?yàn)槭怯械模詧?zhí)行了&&后的echo yes。又因?yàn)槌晒Υ蛴〕隽藋es,所以||后面的echo no就不執(zhí)行了。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

libran 提問者

呵呵,一時(shí)犯了迷糊,把【-n】的意思理解反了,謝謝指點(diǎn)!
2015-08-22 回復(fù) 有任何疑惑可以回復(fù)我~

有教程說 [ -z ... ]表示判斷是否為空 ; [ -n ... ]表示判斷是否為非空 ,等同于 [ ! -z ... ] 。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

誰能解釋下下面的輸出,為什么是yes?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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