美文网首页
Shell编程之执行后返回

Shell编程之执行后返回

作者: 创新lab | 来源:发表于2017-08-17 10:09 被阅读0次

    title: Shell编程之执行后返回
    tags: shell编程,执行后返回


    前言

    今天一个同事问我这样一个问题,脚本里面有一个函数调用了exit是不是整个脚本都会退出,当时我给出的是肯定的回答,但是这种完全是没有考虑清楚。这种情况,要分不同的调用方式来分情况讨论的。

    基本知识点

    1. 我们知道shell函数里面,退出时基本上有两种方式:return和exit。return退出方式的返回值0-255,此时只是退出了这个函数。而exit退出的方式,是退出这个进程。这两种返回方式都可以通过$?,常见的退出方式基本上需要用echo打印出想要的值。比如以下代码:
      function test() {
       echo "result"
       return 1
       }
       a=$(test)
       echo $?
       echo $a
       
       上面代码的返回值结果是:
       result
       1
      
    1. shell里面,调用命令并获得其返回值我们一般通过以下方式来调用 $()``,但是这种的调用方式是新开一个进程来完成里面的命令来执行的,所以里面的命令如果有exit,只是执行这个命令的进程退出了,而调用者是不会退出的。所以,我们通过这种方式调用函数或者命令时,需要在主进程里面再次进行判断其返回值,然后再决定怎么往下走。

    相关文章

      网友评论

          本文标题:Shell编程之执行后返回

          本文链接:https://www.haomeiwen.com/subject/dnjgrxtx.html