измените быстрый цвет в зависимости от пользователя или корня в zsh

Я видел, что люди очищают дубликаты от своего использования переменной ПУТИ awk и что-то вроде этого:

PATH=$(printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ { if (NR > 1) printf RS; printf $1 }')

Вы могли попытаться добавить, что к Вашему собственному bashrc и удостоверяются, что Вы получаете другие файлы где-нибудь прежде, чем выполнить это.

Альтернатива должна была бы использовать pathmerge утилита.

Что касается Вашей проблемы скорости, это не будет влиять на время запуска оболочки никаким значительным способом, но это может сохранить заполнение клавишей Tab выполнения некоторого времени для команд, особенно когда команда не найдена в пути, и это делает повторенный, перерывает те же папки, ища его.

Примечание по безопасности: необходимо действительно учесть предупреждения Gilles о безопасности здесь. Путем определения источника файла, принадлежавшего другому пользователю, Вы даете свободную передачу тем пользователям для выполнения их собственного кода как пользователь каждый раз, когда Вы запускаете оболочку. Если Вы не доверяете тем пользователям свой пароль, Вы не должны получать их файлы оболочки.

13
08.10.2010, 21:14
2 ответа

%(!.%{\e[1;31m%}%m%{\e[0m%}.%{\e[0;33m%}%m%{\e[0m%})

Это должно работать для изменения имени хоста (%m) другой цвет (красный), если Вы - корень. У меня нет оболочки zsh для тестирования его на, но это выглядит корректным.

Вот то, почему:

%(x.true.false) :: На основе оценки первого срока троичного выполните корректный оператор'.!' верно, если оболочка привилегирована.Действительно? %# ярлык для %(!.#.%).

%{\e[1;31m%} %m %{\e[0m%} :: %{\e[X;Ym%} цветная escape-последовательность с X как форматирующий (полужирный, подчеркивание, и т.д.) и Y как цветовой код. Обратите внимание, что необходимо открыть и закрыть последовательность вокруг термина, Вы надеетесь изменять цвет иначе все после того, как та точка будет любым цветом. Я добавил пробелы здесь вокруг быстрого термина %m для ясности.

http://www.nparikh.org/unix/prompt.php имеет больше опций и деталей вокруг таблиц цветов и других доступных вариантов для zsh.

8
27.01.2020, 19:53
autoload colors
colors
PS1="%~ %{%(#~$fg[red]~$fg[blue])%}%#%{$fg[default]%} "

%(# тесты, работает ли оболочка как корень. Изменение этого к %(! тесты, работает ли оболочка с поднятыми полномочиями (который покрывает вещи как newgrp, но не входя в систему как корень).

6
27.01.2020, 19:53

Теги

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