代码之家  ›  专栏  ›  技术社区  ›  fatihk

CSH If:“表达式语法”与值“(”进行字符串比较时出错

  •  1
  • fatihk  · 技术社区  · 9 年前

    我有一个shell if语句如下:

    if($var1!= $var2) then
        ...  
    endif
    

    当字符串var1的值为 "(" ,我得到以下错误:

    if:表达式语法

    我知道(是一个语法字符,我想知道是否有任何演练来比较(

    谢谢

    2 回复  |  直到 9 年前
        1
  •  1
  •   fork2execve    9 年前

    使用双引号:

    if ("$var1" != "$var2") then
      ... 
    endif
    
        2
  •  1
  •   fatihk    9 年前

    最后,我找到了一个非常间接的方法来解决这个bug问题:

    if(`echo $var1` != `echo $var2`) then
        ...  
    endif
    

    但我还是希望得到更酷的答案。谢谢