Отображение новой строки на подсказке

Я хочу добавить новую строку на каждой подсказке. Вместо показа курсора на строке как name@machine:~$ _,

Я хочу, чтобы это было на следующей строке, как как:

name@machine:~$
_

Спасибо.

54
задан 6 December 2010 в 06:50

3 ответа

  • Откройте файл ~/.bashrc (или /etc/bash.bashrc если это должно работать глобально на всех пользователей).

  • Найдите названную переменную PS1.

  • Просто поместите \n в конце значения PS1 переменная.

71
ответ дан 22 November 2019 в 23:46

Я предпочитаю использовать пользовательское .bashrc файл

Во-первых, добавьте следующие строки к Вашему ~/.bashrc файл:

##
## INCLUDE CUSTOM `.bashrc` CODE
##
if [ -f ~/.bashrc_custom ]; then
    . ~/.bashrc_custom
fi

Создайте пользовательский файл:

touch ~/.bashrc_custom`

Наконец откройте его и поместите следующие строки в:

# File: $HOME/.bashrc_custom
# THIS FILE IS A USER-CUSTOM BASHRC FILE TO KEEP CLEAN THE DEFAULT ~/.barshrc FILE.
# PUT THERE ANY CUSTOM CODE MANUALLY ADDED BY YOU


# Add a new line at the end of the command prompt
#PS1=${PS1}\\n
PS1=${PS1%?}
PS1=${PS1%?}\n'$ '

Следующая открытая сессия оболочки будет быть похожей на следующее:

user@host:~
$ <your-next-command-will-be-rendered-here>
8
ответ дан 22 November 2019 в 23:46

Это было болезненно, но, в конце концов, из-за сложной пользовательской настройки PS1 с пользовательскими цветами это единственное, что у меня сработало:

new_line() {
    printf "\n$ "
}
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]$(new_line)'
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)$(new_line)'
fi
4
ответ дан 21 December 2019 в 01:55

Другие вопросы по тегам:

Похожие вопросы: