如何更改 mc 子 shell 的提示符

如何更改 mc 子 shell 的提示符

我经常使用 mc 的子 shell。因此,我希望 mc-subsell 的提示符与主 shell 不同。请问如何更改子提示符,如下所示:

mc:$当前目录$

非常感谢

答案1

这一页可能会对你有帮助。摘录如下:

Bash 允许用户在定义 shell 提示符时执行非常高级的操作,包括颜色和将信息传播到 xterm 标题中。不幸的是,当您想将 mc (Midnight Commander) 与 bash 提示符结合使用时,您可能会发现,并非所有高级转义序列都能由 mc 正确处理。为了解决这个问题,您可以为 mc 设置一个特殊提示符。

你想要什么:

if ps $PPID |grep mc; then
    PS1="mc: \w"
fi

答案2

在我找到解决方案之前,我曾遇到过同样的问题:将以下文本放入文件 ~/.local/share/mc/bashrc 中:

#!/bin/bash

if [ -f $HOME/.bashrc ]; then
        . $HOME/.bashrc
else
        if [ -f /etc/bashrc ]; then
                . /etc/bashrc
        fi
fi

if [ -z "$PS1" ]; then
        PS1="(mc)[\u@\h \W]\$ "
else
        old_PS1=$PS1
        export PS1="(mc)$old_PS1"
fi

或者根据您的需要:

#!/bin/bash

if [ -f $HOME/.bashrc ]; then
        . $HOME/.bashrc
else
        if [ -f /etc/bashrc ]; then
                . /etc/bashrc
        fi
fi

PS1="mc:\$\W\$ "

相关内容