+ -
当前位置:首页 → 问答吧 → linux脚本中命令运行结果判断

linux脚本中命令运行结果判断

时间:2011-07-17

来源:互联网

我的脚本里会执行一些命令,比如

#!/bin/sh
start=`date+%Y+%m+%d-%H-%M-%S_%w`;
mysql -u root -pPASSWD db<db.sql;
end=`date+%Y+%m+%d-%H-%M-%S_%w`;
./restore ${start} ${end}

但是,有时这些命令执行出错,比如mysql数据库没有打开,那么脚本里的命令就会失败,这是我就不需要执行./restore,并且要让执行system(sh run.sh);的程序知道命令失败,请问:

  1,有没有办法在脚本内判断命令运行结果失败,并执行与结果对应的程序;
  2,有没有办法让调用脚本的程序知道命令的执行结果?

作者: tuyi911   发布时间: 2011-07-17

试试在mysql 那行命令的下面判断$?
通常非0表示失败,0表示成功

作者: justkk   发布时间: 2011-07-17

我的脚本是这样的:

#!/bin/sh

ftp -n<<EOF
open 192.168.0.17
user root 123123
bye
EOF
if [ $?=0 ]
then 
echo "ok";
else
echo "fail"
fi

请问:
怎样判断前面的ftp操作是否是通的,链接没有被拒绝?

作者: tuyi911   发布时间: 2011-07-17