【问题标题】:Determine if bash/zsh/etc. is running under Midnight Commander确定是否 bash/zsh/etc.在午夜指挥官手下运行
【发布时间】:2014-09-26 10:15:15
【问题描述】:

简单的问题。我想知道如何判断当前shell 是否作为mc 子shell 运行。如果是,我想进入降级模式,没有mc 无法处理的某些功能。

我特别想这样做

  • 尽可能便携
  • 不依赖 shell 之外的任何东西和基本的通用外部命令。

【问题讨论】:

    标签: bash shell zsh mc


    【解决方案1】:

    虽然手册页中没有记录,但一个快速实验表明mc 设置了两个环境变量:$MC_TMPDIR$MC_SID。 (它还设置了$HISTCONTROL,但这并不特定于mc;它会影响bash 的行为,并且可能由mc 以外的其他东西设置。)

    如果您不想依赖未记录的功能,您始终可以自己设置环境变量。例如,在 bash 中:

    mc() { MC_IS_RUNNING=1 command mc "$@" ; }
    

    进入“降级模式”是另一回事;我不确定你会怎么做。我不知道 bash 有什么方法可以禁用指定的功能。您可以通过定义覆盖它们的函数来禁用选定的内置命令。您想到了哪些功能?

    【讨论】:

    • 不,我知道我将如何执行降级模式。 (例如,从 .bashrc 中的提示中删除一些内容)。我会检查一下,看看它是否有效。
    猜你喜欢
    • 2017-01-06
    • 2016-01-01
    • 1970-01-01
    • 2013-01-26
    • 2015-03-28
    • 1970-01-01
    • 2016-12-25
    • 2020-02-22
    • 2013-02-04
    相关资源
    最近更新 更多