$cpok.txt/tmp $echo$? 0 现在尝试将一个文件拷入一个不存在的目录: $cpok.txt/usr/bin/aaa/bbb cp:cannotcreateregularfile''/usr/bin/aaa/bbb'':Nosuchfileordirectory $echo$? 1 使用$?检验返回状态,可知脚本有错误,但同时发现cp:cannot...,因此检验最后退出状 态已没有必要。在脚本中可以用系统命令处理输出格式,要求命令输出不显示在屏幕上。为 此可以将输出重定向到/dev/null,即系统bin中。现在怎样才能知道脚本正确与否?好,这 时可以用最后退出状态命令了。请看上一个例子的此形式的实际操作结果。 $cpok.txt/usr/bin/aaa/bbb>/dev/null2>&1 $echo$? 1 通过将包含错误信息的输出重定向到系统bin中,不能获知最后命令返回状态,但是通过使 用$!,(其返回值为1)可知脚本失败。检验脚本退出状态时,最好将返回值设置为一个有 意义的名字,这样可以增加脚本的可读性。 14.5小结 变量可以使shell编程更容易。它能够保存输入值并提高效率。shell变量几乎可以包含任 何值。特定变量增强了脚本的功能并提供了传递到脚本的参数的更多信息。 ? |
|