shell脚本中的exit-1问题
今天在看⼀个shell脚本时,遇到⼀个问题。在if判断中出现exit -1 这⾏代码时,究竟是只退出if判断,还是直接退出shell脚本呢?
脚本如下
#连接数据库查询系统营业⽇期,将结果写⼊临时⽂件
sqlplus  system/*****@10.192.***.***:1521/cmisdb  <<!
set heading off;
set feedback off;
set term off;
set verify off;
;
select replace(last_openday,'-','')  from pub_sys_info;
spool off
!
if    [  $? -ne 0  ]
then
echo "连接数据库获取系统⽇期失败!\n"
exit -1;
fi
shell脚本返回执行结果echo "连接数据库获取系统⽇期成功!\n"
这是⼀个获取系统⽇期的sql执⾏脚本。执⾏如果出错后,name
echo "连接数据库获取系统⽇期失败!\n"
这⼀⾏还会输出吗 ?
答案是不会。在shell脚本中,如果命令正常执⾏了,那么会返回0。就是上⾯判断的    $? 这个符号,得到的值是0,⽽如果返回的不是0,就意味着命令⾏没有正确执⾏成功。⽽在shell脚本中,exit -1 相当于jiava中的return 命令。会直接退出shell脚本,⽽不只是退出if判断和循环⽽已。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。