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

tuyi911 2011-07-17 09:10:48
我的脚本里会执行一些命令,比如

#!/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,有没有办法让调用脚本的程序知道命令的执行结果?
...全文
144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
justkk 2011-07-19
  • 打赏
  • 举报
回复
if [ $? -ne 0 ]
注意空格
tuyi911 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操作是否是通的,链接没有被拒绝?
justkk 2011-07-17
  • 打赏
  • 举报
回复
试试在mysql 那行命令的下面判断$?
通常非0表示失败,0表示成功

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧