用于计算1-1的奇怪C-shell返回代码
我在csh做这件事用于计算1-1的奇怪C-shell返回代码,shell,csh,Shell,Csh,我在csh做这件事 set it = `expr 1 - 1` echo $? 它将It设置为0,但返回的错误代码为1。如果表达式计算正确且答案设置正确,为什么错误代码不是0 另一方面,如果我有 set it = `expr 2 - 1` echo $? 那么错误代码是0。评估1-1有什么问题 因为expr很奇怪。计算结果为零的任何表达式也会发生同样的情况 引述: 如果表达式既不是null也不是0,则退出状态为0;如果表达式不是null,则退出状态为1 为null或0,如果表达式语法无效,则
set it = `expr 1 - 1`
echo $?
它将It
设置为0,但返回的错误代码为1。如果表达式计算正确且答案设置正确,为什么错误代码不是0
另一方面,如果我有
set it = `expr 2 - 1`
echo $?
那么错误代码是0。评估1-1有什么问题 因为
expr
很奇怪。计算结果为零的任何表达式也会发生同样的情况
引述:
如果表达式既不是null也不是0,则退出状态为0;如果表达式不是null,则退出状态为1
为null或0,如果表达式语法无效,则为2,如果表达式语法无效,则为3
发生了一个错误
Shell算法更好
@ it = 1 - 1
echo $? : $it
0 : 0