Я хочу добавить новую строку на каждой подсказке. Вместо показа курсора на строке как name@machine:~$ _
,
Я хочу, чтобы это было на следующей строке, как как:
name@machine:~$
_
Спасибо.
Откройте файл ~/.bashrc
(или /etc/bash.bashrc
если это должно работать глобально на всех пользователей).
Найдите названную переменную PS1
.
Просто поместите \n
в конце значения PS1
переменная.
.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>
Это было болезненно, но, в конце концов, из-за сложной пользовательской настройки 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