Как я только отображаю основной dir в своем Терминале Ubuntu?

В Терминале Ubuntu 10.04, когда я пересекаю в некоторую длинную структуру каталогов, отображен весь путь, это приводит к партии потерь пространства на моем терминале, куда курсор прибывает путь направо. Это вызывает партию Раздражения. Любой способ просто отобразить основной dir.

В настоящее время - ops@ops:/media/Main320/final_code/code/office/c/practice/parsers/proj1$

Потребность - ops@ops:~/proj1$

Я уверен, что это - некоторое изменение конфигурации или некоторое предпочтительное изменение профиля. Любой...

4
задан 19.05.2011, 23:12

4 ответа

При изменении Bash подсказка легка. Просто присвойте новое значение PS1:

PS1="myprompt : "

Теперь новая подсказка будет похожа

myprompt:

Bash позволяет строкам приглашения быть настроенными путем вставки многих оставленных из обратной косой черты специальных символов, которые декодируются следующим образом:

* \a : an ASCII bell character (07)
* \d : the date in "Weekday Month Date" format (e.g., "Tue May 26")
* \D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
* \e : an ASCII escape character (033)
* \h : the hostname up to the first '.'
* \H : the hostname
* \j : the number of jobs currently managed by the shell
* \l : the basename of the shell’s terminal device name
* \n : newline
* \r : carriage return
* \s : the name of the shell, the basename of $0 (the portion following the final slash)
* \t : the current time in 24-hour HH:MM:SS format
* \T : the current time in 12-hour HH:MM:SS format
* \@ : the current time in 12-hour am/pm format
* \A : the current time in 24-hour HH:MM format
* \u : the username of the current user
* \v : the version of bash (e.g., 2.00)
* \V : the release of bash, version + patch level (e.g., 2.00.0)
* \w : the current working directory, with $HOME abbreviated with a tilde
* \W : the basename of the current working directory, with $HOME abbreviated with a tilde
* \! : the history number of this command
* \# : the command number of this command
* \$ : if the effective UID is 0, a #, otherwise a $
* \nnn : the character corresponding to the octal number nnn
* \\ : a backslash
* \[ : begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
* \] : end a sequence of non-printing characters

Поскольку пример позволяет, создают строку приглашения, которая отображает сегодняшнюю дату и имя хоста:

PS1="\d \h $ "

Вывод похож

Sun 04 сентября ubuntu $

Когда Вы довольны своей строкой приглашения, можно сделать ее подсказкой по умолчанию, даже после перезагрузки путем установки PS1 var в .bashrc

6
ответ дан 07.12.2019, 19:45

Как @nkr1pt сказал, Вы хотите установить PS1

PS1 = '\u@\h \W \$'

Также выезд, устанавливающий огибающую переменную PROMPT_COMMAND, который является командой, которая выполняется каждый раз, когда удар распечатывает подсказку. Я имею, мои устанавливают на:

PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME%%.*}: $(pwd -P)\a"'

Очевидно, с ПОЛЬЗОВАТЕЛЕМ и набором ИМЕНИ ХОСТА в другом месте. Это помещает полный путь в Ваш заголовок термина.

1
ответ дан 07.12.2019, 19:45

Bash 4 назвали переменную PROMPT_DIRTRIM

user@host:~$ echo $PS1
\u@\h:\w\$
user@host:~$ cd /usr/share/doc/bash/examples
dennis@emperor:/usr/share/doc/bash/examples$ PROMPT_DIRTRIM=2
dennis@emperor:.../bash/examples$

который определяет минимальное число элементов каталога для отображения.

1
ответ дан 07.12.2019, 19:45

Можно использовать символьную ссылку

ln -s /media/Main320/final_code/code/office/c/practice/parsers/proj1 ~/proj1
cd ~/proj1
0
ответ дан 07.12.2019, 19:45

Теги

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