If statement 检查csh中单个if条件中的变量是否未定义或为空

If statement 检查csh中单个if条件中的变量是否未定义或为空,if-statement,csh,If Statement,Csh,变量存在和空值可以在csh中单独的if条件中检查 if (! $?theVar) then 或 我想在单个条件中检查这些条件。试过类似的东西 if ((! $?theVar) || ($theVar == "")) then 但它并没有像预期的那样发挥作用。这似乎很简单,我找不到类似的问题。如果问题已经存在,请随意指出 注意:无法更改外壳。只需要csh中的解决方案。即使将“| |”视为短路运算符,csh仍将对整个过程进行语法检查。因此给你带来了麻烦。 检查和 试试这个if

变量存在和空值可以在csh中单独的if条件中检查

if (! $?theVar) then

我想在单个条件中检查这些条件。试过类似的东西

if ((! $?theVar) || ($theVar == "")) then
但它并没有像预期的那样发挥作用。这似乎很简单,我找不到类似的问题。如果问题已经存在,请随意指出

注意:无法更改外壳。只需要csh中的解决方案。

即使将“| |”视为短路运算符,csh仍将对整个过程进行语法检查。因此给你带来了麻烦。 检查和


试试这个if(!$?theVar)和&set theVar=“”)|($theVar==”)然后

这是很困难的,因为csh的特别解析器不像其他语言那样真正遵循正常规则,它对空格非常敏感(
如果(!$?theVar |$theVar==”)
有点有效),而且它也不遵循正常的计算(如果
var
未定义,它将不起作用,因为
|
后面的部分也会被计算)。我只保留这两个
if
s;如果使用csh,就无法避免编写难看的代码:-)
if ((! $?theVar) || ($theVar == "")) then