标签: shell unix
我有一个C-Shell代码,我使用以下命令:
if($#arr == 0 || $ arr [1] ==“test1”)然后
它输出一条错误消息“tcsh:arr:Subscript out of range”。显然是因为第一个条件是真的。如果第一个条件为真,是否可以强制它忽略第二个条件?
答案 0 :(得分:1)
csh解析整行并在计算表达式之前替换变量。所以在这种情况下,你需要一个嵌套的if,因为或者条件没有对变量进行短路评估。