저는 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\$ "