我经常使用 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\$ "