【问题标题】:Abort from a .bashrc script从 .bashrc 脚本中止
【发布时间】:2013-09-16 01:25:48
【问题描述】:

我知道.bashrc 脚本必须像source .bashrc. .bashrc 一样运行,因此在会话期间会保留导出的更改,但我需要在不退出会话的情况下从一半的 bashrc 脚本中止。

目前我正在对我发出假设存在 tty 的命令的点进行二进制搜索。这是为了避免收到消息stdin: is not a tty。所以最简单的方法是break bashrc 脚本的执行,但是我还没有找到这样做的方法。

我如何中止 一半 .bashrc 脚本内的执行不结束会话 ? (也就是使用 exit 命令)

【问题讨论】:

    标签: linux bash shell session login-script


    【解决方案1】:

    怎么样

    if [ yourbreakcondition ]; then
        ...
    else
       ...
       The rest of bashrc here
       ...
    fi
    

    【讨论】:

    • 这正是我试图避免的解决方案。如果没有更简单的解决方案出现,我很乐意选择您的选项。
    【解决方案2】:

    只需在你的 bashrc 中调用 return。

    例子

    if [ true ]
    then
        return
    fi
    

    【讨论】:

      【解决方案3】:

      您可以使用return 命令“退出”您的脚本。在函数之外使用return 通常是错误的,但如果它是sourced,您可以将整个脚本视为一个函数。

      【讨论】:

      • 我才意识到这一点。适用于 CentOS 6.4 x86_64。谢谢。
      猜你喜欢
      • 2016-03-16
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 2013-06-30
      相关资源
      最近更新 更多