Comment changer l'invite du sous-shell mc

8

J'utilise souvent le sous-shell de mc. Je veux donc que le message de mc-subsell soit différent du shell principal. Dites, comment puis-je changer le sous-invite comme ceci:

mc: $ rép_actuel $

Merci beaucoup

lymslive
la source

Réponses:

4

Cette page peut vous aider. Un extrait:

Bash permet aux utilisateurs de faire des choses très avancées lors de la définition de l'invite du shell, y compris les couleurs et la propagation des informations dans xterm title. Malheureusement, lorsque vous souhaitez utiliser mc (Midnight Commander) conjointement avec les invites bash, vous constaterez peut-être que toutes les séquences d'échappement avancées ne sont pas gérées correctement par mc. Pour résoudre ce problème, vous pouvez avoir une invite spéciale juste pour mc.

Ce que vous vouliez:

if ps $PPID |grep mc; then
    PS1="mc: \w"
fi
Jakob Weisblat
la source
Merci, je l'ai. et je l'ai modifié comme ceci pour supporter la couleur: PS1 = '[\ 033 [01; 32m] mc: [\ 033 [01; 34m] \ w [\ 033 [00m] \ $'
lymslive
Si ma réponse a résolu votre question, vous pouvez cliquer sur la coche creuse verte située à gauche pour l'accepter.
Jakob Weisblat
3

J'avais rencontré le même problème avant de trouver une recette: mettez le texte suivant dans le fichier ~ / .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

ou selon vos besoins:

#!/bin/bash

if [ -f $HOME/.bashrc ]; then
        . $HOME/.bashrc
else
        if [ -f /etc/bashrc ]; then
                . /etc/bashrc
        fi
fi

PS1="mc:\$\W\$ "
Pavel Pavlovskiy
la source