【问题标题】:Check if a variable is undefined or empty in single if-condition in csh在 csh 的单个 if 条件中检查变量是否未定义或为空
【发布时间】: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


【解决方案1】:

即使“||”被认为是一个短路运算符,CSH 仍然会语法检查整个事情。因此给你带来了麻烦。 检查herehere

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多