mc의 서브쉘 프롬프트를 변경하는 방법

mc의 서브쉘 프롬프트를 변경하는 방법

저는 mc의 서브쉘을 자주 사용합니다. 그래서 나는 mc-subsell의 프롬프트가 기본 쉘과 다르기를 원합니다. 다음과 같이 하위 프롬프트를 어떻게 변경할 수 있습니까?

mc:$Current_dir$

많은 감사

답변1

이 페이지당신을 도울 수 있습니다. 발췌:

Bash를 사용하면 사용자는 쉘 프롬프트를 정의할 때 색상 및 xterm 제목에 대한 정보 전파를 포함하여 매우 고급 작업을 수행할 수 있습니다. 불행하게도 bash 프롬프트와 함께 mc(Midnight Commander)를 사용하려는 경우 모든 고급 이스케이프 시퀀스가 ​​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\$ "

관련 정보