当前位置:   article > 正文

shell脚本中的exit -1 问题_shell exit -1

shell exit -1

今天在看一个shell脚本时,遇到一个问题。在if判断中出现exit -1 这行代码时,究竟是只退出if判断,还是直接退出shell脚本呢?

脚本如下

  1. #连接数据库查询系统营业日期,将结果写入临时文件xtrq.txt
  2. sqlplus system/*****@10.192.***.***:1521/cmisdb <<!
  3. set heading off;
  4. set feedback off;
  5. set term off;
  6. set verify off;
  7. spool xtrq.txt;
  8. select replace(last_openday,'-','') from pub_sys_info;
  9. spool off
  10. !
  11. if [ $? -ne 0 ]
  12. then
  13. echo "连接数据库获取系统日期失败!\n"
  14. exit -1;
  15. fi
echo "连接数据库获取系统日期成功!\n"

这是一个获取系统日期的sql执行脚本。执行如果出错后,name

echo "连接数据库获取系统日期失败!\n"

这一行还会输出吗 ?

答案是不会。在shell脚本中,如果命令正常执行了,那么会返回0。就是上面判断的    $? 这个符号,得到的值是0,而如果返回的不是0,就意味着命令行没有正确执行成功。而在shell脚本中,exit -1 相当于jiava中的return 命令。会直接退出shell脚本,而不只是退出if判断和循环而已。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/108234?site
推荐阅读
相关标签
  

闽ICP备14008679号