web-dev-qa-db-ja.com

mcのサブシェルのプロンプトを変更する方法

私はよくmcのサブシェルを使います。したがって、mc-subshel​​lのpromtをプライマリシェルとは異なるものにしたいのです。たとえば、次のようにサブプロンプトを変更するにはどうすればよいですか。

mc:$ Current_dir $

どうもありがとう

8
lymslive

このページ あなたを助けるかもしれません。抜粋:

Bashを使用すると、ユーザーはシェルプロンプトを定義するときに、色やxtermタイトルへの情報の伝播などの非常に高度な操作を実行できます。残念ながら、mc(Midnight Commander)をbashプロンプトと組み合わせて使用​​する場合、すべての高度なエスケープシーケンスがmcによって適切に処理されるわけではないことに気付く場合があります。この問題を克服するために、mc専用の特別なプロンプトを表示できます。

あなたが欲しかったもの:

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

レシピを見つける前に、同じ問題に直面していました。次のテキストをファイル〜/ .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\$ "
3