Как установить HOSTNAME в zsh?

Я просто искал ту же самую вещь. При использовании eix Вы находитесь в удаче. От Wiki:

Добавление оверлейных программ к кэшу

Для поиска не только в дереве перевозки, но и всех оверлейных программах добавьте оверлейные программы к кэшу

root # eix-remote update

и затем синхронизируйте все это:

root # eix-sync

(пример от моей системы)

mordjah@Ananke /mnt/Dev/nuvola-player $ eix nuvola
* x11-themes/nuvola
  Available versions:  1.0-r1^bs
  Homepage:            http://www.kde-look.org/content/show.php?content=5358
  Description:         Nuvola SVG icon theme

Хм это не похоже на аудиоплеер Google... время для добавления еще некоторых источников:

mordjah@Ananke /mnt/Dev/nuvola-player $ eix-remote update
<snip>
Saving to: 'eix-cache.tbz2'
* Unpacking data
layman/Armageddon -> Armageddon
layman/AstroFloyd -> AstroFloyd
 layman/AzP -> AzP
<snip>

похож приблизительно на 500 источников :)

mordjah@Ananke /mnt/Dev/nuvola-player $ eix-sync -q

теперь, когда поиск, если Вы хотите развернуть свой поиск, добавляет-R (удаленный) для поиска всех оверлейных программ, установленных или нет. Вы захотите синхронизировать его с eix-удаленным время от времени. Посмотрите man eix1.

mordjah@Ananke /mnt/Dev/nuvola-player $ eix -R nuvola
* media-sound/nuvolaplayer
 Available versions:  (~)2.0.1[2] (~)2.0.3[1] {debug}
 Homepage:            https://launchpad.net/nuvola-player
 Description:         Cloud music integration for your Linux desktop

* x11-themes/nuvola
 Available versions:  1.0-r1^bs
 Homepage:            http://www.kde-look.org/content/show.php?content=5358
 Description:         Nuvola SVG icon theme

[1] "sabayon" layman/sabayon
[2] "tante" layman/tante
5
13.06.2015, 21:55
3 ответа

Вы должны просто установить

HOSTNAME=$(hostname)

в вашем ~/. zshrc

Или, как заметил Калеб, есть переменная HOST, так что, чтобы сохранить ваше быстрое перемещение, вы также можете сделать:

HOSTNAME=$HOST
4
27.01.2020, 20:33

zsh расширение подсказки, позволяющее делать эту подсказку без необходимости делать какие-либо вычисления:

PS1='%$COLUMNS>╡>%F{cyan}╔╡%F{red}[%n]%F{cyan}:%F{yellow}[%m]%F{cyan}➾%F{green}[%~]%F{default}$PS1_GIT%F{cyan}${(l:COLUMNS::═:):-}%<<
╚═╡%F{default}'

Explained:

  • %$COLUMNS>╡>: справа до $COLUMNS (переменная, динамически устанавливаемая zsh на ширину терминала) часть до следующей %<<.
  • %F{color}: установите цвет переднего плана
  • %n, %m, %~: имя пользователя, имя машины (имя хоста до первой точки), текущий каталог с ~-named-dirs.
  • ${(l:COLUMNS::═:):-}: слева - пустая строка (${:-}) до $COLUMNS длиной с символами .

%m похоже на ${HOST%%.*}. Если вам нужно полное имя хоста ($HOST), используйте вместо него %M.

7
27.01.2020, 20:33

Вы используете неправильное имя переменной. Переменная среды $ HOSTNAME часто устанавливается процедурами инициализации хост-системы, но не всегда. В контексте профиля ZSH вы должны использовать переменную окружения $ HOST , которая явно устанавливается оболочкой. От man zshall :

ПАРАМЕТРЫ, УСТАНОВЛЕННЫЕ ОБОЛОЧКОЙ
[…]
HOST Текущее имя хоста.

Обратите внимание в этом списке, что $ HOSTNAME не является тем, что ZSH пытается установить, он устанавливается или нет только по прихоти системы инициализации вашей системы.

Также обратите внимание, что $ HOST не следует использовать в кроссплатформенных сценариях оболочки, если вы надеетесь на переносимость на другие оболочки - в этом случае двоичный файл имя хоста , вероятно, ваш лучший вариант, но в контексте профиля ZSH собственная переменная оболочки - наиболее подходящая вещь для использования.

3
27.01.2020, 20:33

Теги

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