Отображение новой строки в приглашении

53

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

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

name@machine:~$
_

Благодарю.

theTuxRacer
источник

Ответы:

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

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

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

htorque
источник
18
Самый простой способ сделать это - добавить PS1 = "$ PS1 \ n" в конец файла ~ / .bashrc.
Деннис ВанМетер
3
Угадайте, что легче поддерживать - почему бы не сделать это новым ответом? :)
htorque
да, я сделал это было слишком много строк для добавления \ n, поэтому я создал новую переменную.
theTuxRacer
8

Я предпочитаю использовать пользовательский .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>
Реми Б.
источник
4
Почему вы рекомендуете использовать пользовательский файл .bashrc? Разве не совсем так .bashrc в вашем домашнем каталоге существует? Я понимаю, что вы можете использовать и изменять сгенерированный по умолчанию файл .bashrc, но тогда, когда вы захотите использовать .bashrc в других ОС, вы не сможете этого сделать, поскольку вы зависите от файла .bashrc по умолчанию и, если он не тот же, он может вести себя по-другому.
Михал Бернхард