Я часто использую subshell mc. Поэтому я хочу, чтобы приглашение mc-subsell отличалось от основного shell. Скажите, как мне изменить sub-prompt следующим образом:
mc:$Текущий_каталог$
большое спасибо
решение1
Эта страницаможет вам помочь. Отрывок:
Bash позволяет пользователям делать очень продвинутые вещи при определении приглашения оболочки, включая цвета и распространение информации в заголовок xterm. К сожалению, когда вы хотите использовать mc (Midnight Commander) в сочетании с приглашениями bash, вы можете обнаружить, что не все продвинутые escape-последовательности обрабатываются 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\$ "