'ECHO' 在 csh 和 bash 中的行为
Behaviour of 'ECHO' in csh and bash
我正在写一些脚本,突然让我想到 CSH 和 BASH shells 中的以下命令。
在csh中shell
$ echo $?BASH
0
$ echo $?HOME
1
$ echo $? home
0 home
在bashshell
$ echo $?BASH
0BASH
$ echo $?HOME
0HOME
$ echo $? home
0 home
有人解释了上述行为。我知道 echo $? 打印最后一个命令的退出状态,但是如果添加了一些字符串那么它是如何工作的?
如果您查看文档 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.
http://www.mkssoftware.com/docs/man1/csh.1.asp
小心,$?不同于 $?name
我正在写一些脚本,突然让我想到 CSH 和 BASH shells 中的以下命令。
在csh中shell
$ echo $?BASH
0
$ echo $?HOME
1
$ echo $? home
0 home
在bashshell
$ echo $?BASH
0BASH
$ echo $?HOME
0HOME
$ echo $? home
0 home
有人解释了上述行为。我知道 echo $? 打印最后一个命令的退出状态,但是如果添加了一些字符串那么它是如何工作的?
如果您查看文档 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.
http://www.mkssoftware.com/docs/man1/csh.1.asp
小心,$?不同于 $?name