我写了很少的脚本,突然让我想到CSH和BASH shell中的以下命令。
在csh shell中
$ echo $?BASH
0
$ echo $?HOME
1
$ echo $? home
0 home
在bash shell中
$ echo $?BASH
0BASH
$ echo $?HOME
0HOME
$ echo $? home
0 home
有人解释了上述行为。我知道 echo $?打印出最后一个命令的退出状态,但如果添加了一些字符串,那么它的工作原理是什么?
答案 0 :(得分:3)
如果您查看文档csh表示:
$?name
${?name}
Substitutes the string 1 if the variable name is set, 0 if it is not.
$?0
Substitutes 1 if the current input file name is known, 0 if it is not.
小心,$?与$?name 不同