美文网首页
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编程之执行后返回

    title: Shell编程之执行后返回tags: shell编程,执行后返回 前言 今天一个同事问我这样一个问题...

  • Centos执行shell命令返回127错误

    Centos执行shell命令返回127错误 在终端可以正常运行 web执行shell 返回127错误 解决方法 ...

  • Python脚本中执行shell命令

    在python脚本中执行shell命令,使用os.popen方法 直接执行命令后,返回执行命令后的输出。 非常方便!

  • shell的&&和||

    Linux shell的&&和|| shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell...

  • &&和||的使用方法

    shell中&&和||的使用方法 &&运算符: &&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边...

  • Shell入门

    Shell Shell编程之Hello World 编写一个hello world shell一般使用.sh作为后...

  • C语言执行shell命令(system exec popen p

    我们在C语言里面有时候需要执行一些shell命令,或者通过shell命令获取一些返回的数据。 无需返回执行结果 s...

  • nohup和&的区别与关系

    & 是shell的命令,如果我们执行python test_nohup.py,就会直接返回shell给用户,且用户...

  • Shell 脚本入门: 编写格式和执行方式

    本文要点 Shell 脚本的编写规范 执行Shell 脚本文件的 3 种方式 与 区别 1. Shell 脚本的编...

  • js中||和&&

    a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则...

网友评论

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

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