配色: 字号:
linux超级基础系列——shell变量(本地变量和环境变量)
2012-08-06 | 阅:  转:  |  分享 
  
$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变量几乎可以包含任
何值。特定变量增强了脚本的功能并提供了传递到脚本的参数的更多信息。
?
献花(0)
+1
(本文系小云蔡首藏)