
Консоль
Модератор: Bizdelnick
-
- Сообщения: 47
- ОС: Suse 10.2
Консоль
Почему у меня, когда я открываю консоль в KDE, высвечивается вот так: bash-2.05b$, а не alexey@matrix alexey$ как в той консоли, которая открывается по Ctrl+Alt+F1. Где это можно исправить, а то ужасно неудобно... 

Open Suse 11.0
-
- Сообщения: 1019
- Статус: Экс-металлюга
Re: Консоль
Подозреваю, что в домашнем каталоге нет файла .bashrc.
В котором должна быть определена переменная PS1, содержащая внешний вид приглашения.
В котором должна быть определена переменная PS1, содержащая внешний вид приглашения.
ArchLinux / IceWM
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Консоль
Либо файл такой есть, но PS1 в нём не определяется.(madskull @ Monday, 20 September 2004, 17:51) писал(а):Подозреваю, что в домашнем каталоге нет файла .bashrc.
В котором должна быть определена переменная PS1, содержащая внешний вид приглашения.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 47
- ОС: Suse 10.2
Re: Консоль
Вот содержимое файла...
Код: Выделить всё
# /etc/skel/.bashrc:
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bashrc,v 1.8 2003/02/28 15:45:35 azarah Exp $
# This file is sourced by all *interactive* bash shells on startup. This
# file *should generate no output* or it will break the scp and rcp commands.
# colors for ls, etc.
eval `dircolors -b /etc/DIR_COLORS`
alias d="ls --color"
alias ls="ls --color=auto"
alias ll="ls --color -l"
# Change the window title of X terminals
case $TERM in
xterm*|rxvt|Eterm|eterm)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac
##uncomment the following to activate bash-completion:
#[ -f /etc/profile.d/bash-completion ] && source /etc/profile.d/bash-completion
Open Suse 11.0
-
- Сообщения: 1019
- Статус: Экс-металлюга
-
- Сообщения: 47
- ОС: Suse 10.2
Re: Консоль
echo $PS1 дает что-то вроде \s-\v$, сейчас не помню точно, дома компьютер.
Так что все-таки подправить надо?...
Так что все-таки подправить надо?...
Open Suse 11.0
-
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Консоль
Здрасьте-нафиг.. С какой это радости? А если bash_profile, к примеру, вот такой:(polachok @ Tuesday, 21 September 2004, 6:57) писал(а):cp ~/.bash_profile ~/.bashrc
if [ -f ~/.bashrc ]; then; . ~/.bashrc; fi
(и далее по тексту)? Мало того, что человек свой .bashrc просто затрёт, так этот новоиспечённый будет просто гонять сам себя по кругу, пока всю память не выест.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Консоль
Смотря что ві хотите там получить. А вообще man bash на предмет Prompting.(Teapot @ Tuesday, 21 September 2004, 10:53) писал(а):Так что делать-то?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 47
- ОС: Suse 10.2
-
- Сообщения: 1019
- Статус: Экс-металлюга
Re: Консоль
даю наводку: у меня так
export PS1='[\[\033[01;32m\]\h \[\033[01;34m\]\W\[\033[00m\]]\[\033[01;36m\]\$ \[\033[00m\]'
export PS1='[\[\033[01;32m\]\h \[\033[01;34m\]\W\[\033[00m\]]\[\033[01;36m\]\$ \[\033[00m\]'
ArchLinux / IceWM
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Консоль
А что.. Красиво.(madskull @ Tuesday, 21 September 2004, 11:30) писал(а):даю наводку: у меня так
export PS1='[\[\033[01;32m\]\h \[\033[01;34m\]\W\[\033[00m\]]\[\033[01;36m\]\$ \[\033[00m\]'
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 47
- ОС: Suse 10.2
-
- Сообщения: 1019
- Статус: Экс-металлюга
Re: Консоль
(Teapot @ Tuesday, 21 September 2004, 13:10) писал(а):Спасибо, я попробую.
Это надо вставить в файл ~/.bashrc ?
Именно
ArchLinux / IceWM
-
- Сообщения: 1019
- Статус: Экс-металлюга
Re: Консоль
Кроме того, не все, наверное, знают, что эта строка вычисляется во время вывода. Поэтому можно делать всякие интересности, например:

Код: Выделить всё
PS1='До нового года осталось $[$(date -d 2005/01/01 +%s)-$(date +%s)] сек! [\[\033[01;32m\]\h \[\033[01;34m\]\W\[\033[00m\]]\[\033[01;36m\]\$ \[\033[00m\]'

ArchLinux / IceWM
-
- Бывший модератор
- Сообщения: 1571
- ОС: Cygwin
Re: Консоль
Вообще есть такая специальная дока
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/

А вот ответ на оригинальный вопрос:
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/setps.html
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/

А вот ответ на оригинальный вопрос:
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/setps.html
the PS1 string should be set in .bashrc. this is because non-interactive bashes go out of their way to unset PS1. the bash man page tells how the presence or absence of PS1 is a good way of knowing whether one is in an interactive vs non-interactive (ie script) bash session.
the way i realized this is that startx is a bash script. what this means is, startx will wipe out your prompt. when you set PS1 in .profile (or .bash_profile), login at console, fire up X via startx, your PS1 gets nuked in the process leaving you with the default prompt.
one workaround is to launch xterms and rxvts with the -ls option to force them to read .profile. but any time a shell is called via a non-interactive shell-script middleman PS1 is lost. system(3) uses sh -c which if sh is bash will kill PS1. a better way is to place the PS1 definition in .bashrc. this is read every time bash starts and is where interactive things - eg PS1 should go.
therefore it should be stressed that PS1=..blah.. should be in .bashrc and not .profile.
-
- Сообщения: 47
- ОС: Suse 10.2
Re: Консоль
даю наводку: у меня так
export PS1='[\[\033[01;32m\]\h \[\033[01;34m\]\W\[\033[00m\]]\[\033[01;36m\]\$ \[\033[00m\]'
Работает, но не совсем корректно

Если я даю команду su, то имя так и остается [matrix alexey]$
Если я даю команду su -, то имя становится верным: matrix root #
Open Suse 11.0
-
- Сообщения: 1019
- Статус: Экс-металлюга
Re: Консоль
(Teapot @ Tuesday, 21 September 2004, 15:57) писал(а):даю наводку: у меня так
export PS1='[\[\033[01;32m\]\h \[\033[01;34m\]\W\[\033[00m\]]\[\033[01;36m\]\$ \[\033[00m\]'
Работает, но не совсем корректно
Если я даю команду su, то имя так и остается [matrix alexey]$
Если я даю команду su -, то имя становится верным: matrix root #
А это уже другая опера.
su - user
перечитывает скрипты user'а, поэтому ему тоже надо прописать что-то подобное.
а
su user
оставляет окружение без изменения.
ArchLinux / IceWM