1

Я получил файл .bashrc из сети. Я проверил это заранее, ничего плохого в этом не обнаружил.

Одна странность в том, что в командной строке терминала добавлено несколько пробелов.

Скриншот:

альтернативный текст Эти места не поставлены мной.

Файл можно найти здесь: http://tldp.org/LDP/abs/html/sample-bashrc.html.

3 ответа3

2

Взгляните на функцию powerprompt .

Если вы скопировали и вставили его в свой .bashrc , возможно, вы получили пробелы в начале строк, заканчивающихся на \ (обратный слеш).

(Можете ли вы опубликовать свой настоящий .bashrc где-нибудь вместо этого)? Или попробуйте: echo \"$PS1\"

(РЕДАКТИРОВАТЬ: Конечно, я имею в виду «в начале строк, следующих за строками, заканчивающимися на \ .)

1

Если приглашение содержит непечатные символы, они должны быть заключены в \[…\] . В противном случае bash считает эти символы как часть ширины приглашения.

В настройках подсказки отсутствуют несколько экземпляров \[…\] . Вот те, которые я нашел после беглого взгляда:

function fastprompt()
{
    unset PROMPT_COMMAND
    case $TERM in
        *term | rxvt )
            PS1="\[${HILIT}\][\h]\[$NC\] \W > \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;
        linux )
            PS1="\[${HILIT}\][\h]\[$NC\] \W > " ;;
        *)
            PS1="[\h] \W > " ;;
    esac
}

function powerprompt()
{

    PROMPT_COMMAND=_powerprompt
    case $TERM in
        *term | rxvt  )
            PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > \
                 \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;
        linux )
            PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > " ;;
        * )
            PS1="[\A - \$LOAD]\n[\u@\h \#] \W > " ;;
    esac
}
1

Попробуйте вынуть код, который находится в

#-------------------------------------------------------------
# Shell Prompt
#-------------------------------------------------------------

раздел файла .bashrc . Похоже, что это та область, которая контролирует внешний вид подсказки.

Как выглядит ваша подсказка сейчас? Если вы не заметили изменений, убедитесь, что вы открываете новое окно терминала.

Помимо файла .bashrc в вашем домашнем каталоге, в папке /etc/ находятся общесистемные конфигурации. Они, как правило , находится в / и /etc/bashrc или / и /etc/bash_profile (обратите внимание , что они не не являются скрытыми, не . В зависимости от вкуса Linux ваших используют.

Кроме того - есть ли у вас в домашнем каталоге какие-либо другие файлы типа .bash_profile или .profile которые также могут действовать для настройки приглашения?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .