在C-Shell中使用逻辑OR(||)

时间:2009-12-27 23:58:01

标签: shell unix

我有一个C-Shell代码,我使用以下命令:

if($#arr == 0 || $ arr [1] ==“test1”)然后

它输出一条错误消息“tcsh:arr:Subscript out of range”。显然是因为第一个条件是真的。如果第一个条件为真,是否可以强制它忽略第二个条件?

1 个答案:

答案 0 :(得分:1)

csh解析整行并在计算表达式之前替换变量。所以在这种情况下,你需要一个嵌套的if,因为或者条件没有对变量进行短路评估。