2009-12-27 29 views
0

我有一個C-Shell代碼,我使用以下命令:在C-Shell中使用邏輯OR(||)

if($#arr == 0 || $ arr [1] ==「 test1「)then

它輸出一個錯誤消息,指出」tcsh:arr:下標超出範圍「。顯然是因爲第一個條件是真的。如果第一個條件成立,是否有可能強迫它忽略第二個條件?

回答

1

csh解析整行並在評估表達式之前替換變量。所以在這種情況下,如果因爲該條件沒有針對變量實施短路評估,則需要嵌套。

+0

我是這麼想的。感謝回覆! – yyy 2009-12-28 00:10:08