Видео ролики бесплатно онлайн

Смотреть жесткое видео

Официальный сайт openclass 24/7/365

Смотреть видео бесплатно

08.03.2009 18:03

booleyПриглашение bash





В недавнем посте про Убунту говорилось о стандартном виде приглашения bash. Для забывчивых напомню: оно выглядело так:

user@desktop: ~$



Но приглашение может выглядеть совсем по другому. Как его изменить?



Приглашение задается переменной PS1.



Краткое уведение в сторону для новичков:

Существуют переменные окружения, в которых определяется самые разные вещи: где искать команды, приглашение, локаль, какую оболочку использовать. Для просмотра переменных наберите команду envДля присвоения значения достаточно набрать имяпеременной=значениепеременной






Но просто текст в приглашении бесполезен. Не будете же вы набирать каждый раз pwd, чтобы узнать текущий каталог, или whoami чтобы узнать текущий логин. Но у нас есть "метасимволы", вместо которых вставляются данные.



Некоторые из них:

* \a символ ASCII bell (7)

* \d дата в формате "День_недели Месяц День" (e.g., “Tue May 26?)

* \h имя хоста (до первой точки)

* \H имя хоста

* \j количество програм, контролируемых шеллом в текущий момент

* \n новая строка

* \r возврат каретки

* \s имя оболочки

* \t время в 24-часовом формате HH:MM:SS

* \T время в 12-часовом формате HH:MM:SS

* \@ время в 12-часовом формате (включая am/pm)

* \A время в 24-часовом формате HH:MM

* \u имя пользователя

* \v версия bash (e.g., 2.00)

* \V релиз, версия + уроверь патчев bash (e.g., 2.00.0)

* \w конец имени текущей директории, с $HOME = ~ (/etc/lighttpd показывается как lighttpd)

* \W полное имя текущей директории, с $HOME = ~

* \! номер этой команды в истории команд

* \# номер этой команды в текущем сеансе

* \$ если вы рут = #, иначе $

* \nnn восмеричный символ с кодом nnn

* \\ слэш





Не забудьте занести ваше идеальное приглашение в .bashrc (~/.bashrc), иначе все ваши изменения при следующем запуске bash будут забыты.



Теперь вы можете самостоятельно установить свое приглашение так, чтобы оно соответствовало вашим требованиям



Тэги: bash prompt PS1 новичку
+ 5 -
Похожие Поделиться

Minoru 08.03.2009 19:06 #
+ 0 -
Статья слабенькая. Выглядит скорее как заготовка, костяк будущей статьи.
Чего не хватает (имхо, естественно):
  1. Про переменные окружения нужно объяснить более внятно. Как вариант — написать об этом отдельную статью;
  2. более внятно описать «метасимволы» — те, что уже есть в статье, есть в каждом приглашении (т.е. данного описания хватит только на понимание того, что уже есть в приглашении пользователя). Из «нового» есть только \@. Стоило бы описать побольше их, чтобы был выбор;
  3. новичок сделает себе новое приглашение, введя что-то вроде PS1="\w\$", нажмёт Enter, порадуется новой фиче, но на завтра (или даже просто открыв новый терминал) обнаружит, что его труды канули в Лету! В общем, стоит упомянуть о .bashrc

В гугле по запросу "linux bash PS1" уже в первой пятёрке всплывают замечательные ссылки, в том числе на весьма обширное HowTo по данному вопросу — в общем, даже если ты не разбираешься в вопросе достаточно подробно сейчас, знания можно легко добыть за пару часов.

За исм откланяюсь и пойду читать Bash Prompt HOWTO. Заинтересовало :)
h0rr0rr_drag0n 08.03.2009 20:47 #
+ 0 -
Добавлю от себя:

Переменную PS1 обычно инициализируют в .bashrc, прописывая в файл строку вида:
PS1="\u@\w "
export PS1

Учитывая то, что этот файл по сути дела сценарии шелла, внутри них можно использовать разнообразные конструкции наподобие if, while и т.п. Исходя из этого, мы можем придавать приглашению разнообразный вид, используя различные условия. Пример того, как это сделано у меня:

WHITE="\<\033<0;37m\>"
CYAN="\<\033<1;36m\>"
if < "$UID" = "0" >; then
SPEC_SYMBOL="$RED#"
else
SPEC_SYMBOL="$LIGHTWHITE\$"
fi
PS1="$CYAN\W$SPEC_SYMBOL$WHITE "

Если я нахожусь в ~ и я юзер - ~$ , если я рут - ~#

З.Ы. Есть еще пременные окружения PS2, PS3 и PS4. Узнать больше о них, а также о PS1 можно набрав: man bash.
LeniH 09.03.2009 07:40 #
+ 1 -
а у меня сейчас вот так C:\Users\LeniH> )))
xT 11.03.2009 09:18 #
+ 3 -
ps1

root:
PS1="\<\e<31m\>\u@\e<33m\>\h\e<39m\><\<\e<38;1m\>\w\<\e>$ "

users:
PS1="\<\e<32m\>\u@\e<33m\>\h\e<39m\><\<\e<38;1m\>\w\<\e>$ "

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн