【发布时间】:2014-09-26 10:15:15
【问题描述】:
简单的问题。我想知道如何判断当前shell 是否作为mc 子shell 运行。如果是,我想进入降级模式,没有mc 无法处理的某些功能。
我特别想这样做
- 尽可能便携
- 不依赖 shell 之外的任何东西和基本的通用外部命令。
【问题讨论】:
简单的问题。我想知道如何判断当前shell 是否作为mc 子shell 运行。如果是,我想进入降级模式,没有mc 无法处理的某些功能。
我特别想这样做
【问题讨论】:
虽然手册页中没有记录,但一个快速实验表明mc 设置了两个环境变量:$MC_TMPDIR 和$MC_SID。 (它还设置了$HISTCONTROL,但这并不特定于mc;它会影响bash 的行为,并且可能由mc 以外的其他东西设置。)
如果您不想依赖未记录的功能,您始终可以自己设置环境变量。例如,在 bash 中:
mc() { MC_IS_RUNNING=1 command mc "$@" ; }
进入“降级模式”是另一回事;我不确定你会怎么做。我不知道 bash 有什么方法可以禁用指定的功能。您可以通过定义覆盖它们的函数来禁用选定的内置命令。您想到了哪些功能?
【讨论】: