> [ 0 ]; echo $?
0
> [[ 0 ]]; echo $?
0
> (( 0 )); echo $?
1
> [ 1 ]; echo $?
0
> [[ 1 ]]; echo $?
0
> (( 1 )); echo $?
0
是否(( 0 ))只是为了匹配其他语言中的典型数值false 的行为?IE哪里true == 1和false == 0?
从bash手册:
(( expression ))
算术表达式根据下面描述的规则进行评估(参见Shell Arithmetic).如果表达式的值不为零,则返回状态为0; 否则返回状态是1.
您的假设可能是正确的,它模仿许多编程语言将任何非零值视为真实的方式.然后你可以写:
if (( <expression> ))
then
    ...
fi
类似于你在C中的表现.
| 归档时间: | 
 | 
| 查看次数: | 92 次 | 
| 最近记录: |