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

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

私はよく mc のサブシェルを使用します。そのため、mc-subsell のプロンプトをプライマリ シェルと異なるものにしたいです。次のようにサブプロンプトを変更するにはどうすればよいでしょうか。

mc:$現在のディレクトリ$

どうもありがとう

答え1

このページ役に立つかもしれません。抜粋:

Bash では、シェル プロンプトを定義するときに、色や 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\$ "

関連情報