简单的变量测试

时间:2012-10-11 05:43:38

标签: c bash

使用Bash,您可以像这样进行简单的变量测试

$ [ $foo ]; echo $?
1

$ foo=bar

$ [ $foo ]; echo $?
0
  

当且仅当参数不为null时,表达式才为真。

与C类似的测试是什么?

修改

为了论证,我们可以说int类型。

1 个答案:

答案 0 :(得分:1)

通常,在C中有隐式布尔转换。因此以下所有内容都将打印出“bad”:

int a = 0;
if (a) {                  // if a is nonzero.
    printf("good");
}
else {
    printf("bad");
}

char* str = NULL;
if (str) {                  // if str is nonzero. (NULL is zero).
    printf("good");
}
else {
    printf("bad");
}