【发布时间】:2020-08-07 04:37:30
【问题描述】:
变量存在和空值可以在 csh 中的单独 if 条件中检查。
if (! $?theVar) then
或
if ($theVar == "") then
我想在一个条件下检查这些条件。尝试过类似的东西
if ((! $?theVar) || ($theVar == "")) then
但它没有按预期工作。这似乎很简单,我找不到类似的问题。如果问题已经存在,请随时指出。
注意:不能更改外壳。仅需要 csh 中的解决方案。
【问题讨论】:
-
这很困难,因为 csh 的临时解析器并不像其他语言那样真正遵循正常规则,它对空格非常敏感(
if (! $?theVar || $theVar == "" )有点工作) ,并且它也不遵循正常的评估(如果theVar未定义,它将不起作用,因为||之后的部分也会被评估)。我只保留两个ifs;如果你正在使用 csh,就没有办法避免编写丑陋的代码 :-)
标签: if-statement csh