csh:如何正确测试空白?

csh:如何正确测试空白?

我想测试 csh 中一个变量是否完全为空。

set R='dddd aaa'
if ( '${R}' ) then
    echo not empty

else
    echo 1111
endif

但它显然不起作用。

它给出了以下错误信息:

/usr/bin/test: argument expected
if: Expression Syntax.

答案1

使用

if ( "x$R" == "x" ) then
    echo empty
else
    echo not empty
endif

C shell 没有像 bash 那样的空运算符。另外,您不能使用 ' 来引用,因为它会阻止变量扩展。

相关内容