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

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

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

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

WeLinux.ru

08.03.09 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 будут забыты.

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

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

За исм откланяюсь и пойду читать Bash Prompt HOWTO. Заинтересовало :)
h0rr0rr_drag0n08.03.09 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.
KerneL08.03.09 21:45# +0
примеров нету((

Вот мой:
PS1='\[$(date +%H:%M) \033[01;32m\]\u@\h\[\033[01;34m\]:\w\$\[\033[00m\] '
LeniH09.03.09 07:40# +0
а у меня сейчас вот так C:\Users\LeniH> )))
KerneL09.03.09 08:27# +0
о_0 какая жесть!
xT11.03.09 09:18# +0
ps1

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

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

Top блогов (все)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Top пользователей (все)
Топ пользователей Топ блогов
В сети: zwey

Новенькие: NucleoFag, Kane, Митяй, etti_, EtTi
welinux.ru
Идея сайта exelens; Движок 0byte, разработчик nvbn; Дизайн - Astramak

Смотреть онлайн бесплатно

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


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

Online video HD

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

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

Full HD video online

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

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

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