SHELL中的exit 0 和 exit 1有什么区别?
区别只有一点:
表示程序的运行结果不同。
exit(0):正常运行程序并退出程序;
exit(1):非正常运行导致退出程序;
在 shell 中调用完程序之后,用 echo $? 命令就可以看到程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。
特殊变量($0、$1、$2、 $?、 $# 、$@、 $*)
shell编程中有一些特殊的变量可以使用。这些变量在脚本中可以作为全局变量来使用。
名称 | 说明 |
$0 | 脚本名称 |
$1-9 | 脚本执行时的参数1到参数9 |
$? | 脚本的返回值 |
$# | 脚本执行时,输入的参数的个数 |
$@ | 输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列表) |
$* | 输入的参数的具体内容(将输入的参数作为一个单词) |
$@与$*的区别:
$@与$*都可以使用一个变量来来表示所有的参数内容,但这两个变量之间有一些不同之处。
$@:将输入的参数作为一个列表对象
$*:将输入的参数作为一个单词