V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Ginson
V2EX  ›  问与答

Shell 脚本 if 判断后,怎么终止当前脚本但不退出 shell

  •  
  •   Ginson · 2016-05-23 16:13:24 +08:00 · 9970 次点击
    这是一个创建于 3105 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚接触 Shell ,如表述有误请见谅。

    目的:在脚本中用 if 进行条件判断,如果返回 true 则继续执行下面的命令,如果为 false 则退出脚本。

    google 了一下,很多文章表示用 exit ,但是 exit 会退出整个 shell 环境,而我需要的只是中止当前脚本执行,类似 Ctrl + C 的效果。

    求各位大神解惑,感激不尽。 PS:我用的是cygwin

    3 条回复    2016-05-24 14:18:08 +08:00
    Ginson
        1
    Ginson  
    OP
       2016-05-23 16:38:48 +08:00
    抱歉,我现在尝试发现 exit 又没有直接退出 cygwin 了,奇怪…
    打扰大家了
    julyclyde
        2
    julyclyde  
       2016-05-23 18:28:59 +08:00   ❤️ 1
    首先你这个问的就有问题
    脚本在被“非 source ”的方式执行的时候是在子进程里的,其所谓“当前”即该子进程,退出该脚本必然会退出该子进程,而不会退出你认为的那个“当前” shell
    Ginson
        3
    Ginson  
    OP
       2016-05-24 14:18:08 +08:00
    @julyclyde 基础不牢,表述错误见谅。问题现在已经解决了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2794 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.