LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 812|回复: 2

shell 错误输出并且退出

[复制链接]
发表于 2010-5-10 00:52:45 | 显示全部楼层 |阅读模式
最近在写一个安装脚本,添加一些判断因素,其中有个地方不知道怎么实现。
举个例子
编写一个函数
function checkCmd()
{
$1 2>&1 > /dev/null |  tee -a /tmp/a.log
# if [ $? -ne 0 ] ; then
#  echo " error "
#  exit 1
# else
#  echo "right "
#fi

}
上面这个可以实现把命令执行的错误打印在屏幕上和记录到日志中
但是第二步我想实现“退出”
原本我想的是用注释中的判断 用$? 来判断前一个命令的执行状态,结果$?为0 我想是因为记录日志成功了所以上一个命令是执行成功的,这样就没有办法退出了。请问有什么好的办法?
我的总体需求是:命令执行中标准输出的不显示,错误不仅要在屏幕上打印出来还要记录到日志文件中,并且记录完后需要立即退出脚本。
 楼主| 发表于 2010-5-10 12:03:43 | 显示全部楼层
没人有好的方法吗?
我自己顶一个
回复 支持 反对

使用道具 举报

发表于 2010-5-10 12:53:45 | 显示全部楼层
  1. function checkCmd()
  2. {
  3.     if [ -n "$1"] && $1 > /dev/null 2> /tmp/a.log; then
  4.         rm -f /tmp/a.log
  5.         echo "right "
  6.     else
  7.         cat /tmp/a.log
  8.         echo " error "
  9.         exit 1
  10.     fi
  11. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表