Изменение приглашения терминала в bash
Приглашение в командной среде bash изменяется при помощи изменения переменных PS1, PS2, PS3, PS4 и PROMPT_COMMAND.
- PS1 — переменная, которая задает вид строки приглашения командной строки, которое bash выводит, когда ожидает ввода очередной команды пользователем.
- PS2 — переменная, отвечающая за вторичный тип приглашения ввода.
- PS3 — третичное приглашение, выводится тогда, когда пользователь должен сделать выбор в операторе select.
- PS4 — приглашение четвертого уровня, выводится при отладки сценариев (скриптов) в начале каждой строки перед командой перед исполняющейся командой.
- PROMPT_COMMAND — содержимое этой переменной выполняется перед каждой строкой приглашения.
Для того чтобы узнать текущие значения этих переменных можно воспользоваться командой echo.
echo $PS1
Вывод будет примерно следующим:
\[\e]0;\u@\h: \w\a\]$\u@\h:\w\$
Для изменения переменной можно пользоваться командой export . Например:
export PS1='\u@\w : '
Изменит приглашение на такое:
user@~ :
Другим методом изменения данных переменных является задание из в конце файла ~/.bashrc . Это делается таким образом:
PS1 = "\u@\w : "
Задание параметров приглашения командной оболочки производится при помощи задания управляющих последовательностей:
- \d — Дата в формате «День, месяц, число», например, Срд, Окт, 17.
- \h — Имя хоста (hostname) до первой точки
- \H — Полное имя хоста
- \t — Текущее время в 24-часовом формате: HH:MM:SS (часы:минуты:секунды)
- \T — Текущее время в 12-часовом формате: HH:MM:SS
- \@ — Текущее время в 12-часовом формате am/pm
- \u — Имя пользователя, запустившего оболочку
- \w — Полное имя текущего рабочего каталога (начиная с корня)
- \W — Текущий рабочий каталог (без указания пути)
- \$ — Символ #, если оболочка запущена суперпользователем, и символ $, если оболочка запущена обычным пользователем.
- \n — Новая строка (перевод строки)
- \s — Имя оболочки
- \# — Текущий номер команды
- \! — Порядковый номер данной команды в истории команд
- \\ — Обратный слэш (a backslash)
- \nnn — Непечатный символ, имеющий восьмеричный код nnn (к примеру esc)
- \a — Звуковой сигнал (ASCII-код 007)
- \e — escape (ASCII-код 033)
- \[ — Начало последовательности не печатаемых символов (этот символ может быть использован для того, чтобы включить в текст подсказки последовательность управляющих символов терминала)
- \] — Конец последовательности не печатаемых символов
Изменение цвета строки приглашения:
Изменение цвета строки приглашения командной оболочки делается при помощи последовательности
- # — номер свойства цвета
- ## — номер цвета
Номера свойств текста:
| Свойство | Код |
| Значение по умолчанию | 0 |
| Повышенная яркость | 1 |
| Пониженная яркость | 2 |
| Подчеркнутый | 4 |
| Нормальная яркость | 5 |
| Инвертированный | 7 |
| Скрытый | 8 |
| Цвет | Текст | Фон |
| Черный | 30 | 40 |
| Красный | 31 | 41 |
| Зеленый | 32 | 42 |
| Желтый | 33 | 43 |
| Синий | 34 | 44 |
| Фиолетовый | 35 | 45 |
| Голубой | 36 | 46 |
| Белый | 37 | 47 |
Например такая последовательность:
\[\e[1;37m\] \u: \[\e[0;37m\]
Настроит строку приглашения следующим образом:

Как видно из примера управляющая последовательность изменяет свойства всего текста после неё и до другой последовательности.
Таким же образом устанавливается цвет фона и текста, но параметры дублированы. Первые два для фона, вторые — для текста:
Переменная PS2 :
Содержимое переменной PS2 появляется на экране терминала при переносе ввода команды на следующую строку. Например:

Метод изменения переменных одинаков, не будем останавливаться на каждой отдельно.
Переменная PS3 : Этот вид приглашения используется в скриптах, когда нужно сделать выбор при использовании оператора select.
Переменная PROMPT_COMMAND : Эта переменная используется для помещения какого либо выражения перед каждой строкой приглашения терминала:
Например если поместить в неё команду ls :
export PROMPT_COMMAND='ls'
То перед каждой строкой приглашения выведется список файлов текущей папки:

Для более подробной информации вы можете воспользоваться справочным руководством:
Командная строка Linux: краткий курс для начинающих
Как работать с командной строкой и базовыми командами.
Эта инструкция — часть курса «Linux: горячие клавиши и команды».
Смотреть весь курс
Введение
В данном руководстве мы вкратце ознакомимся с работой в командной строке в Ubuntu 20.04 .
Требования
- Cервер с Ubuntu 20.04
Для разных операционных систем командную строку можно открывать с помощью приложений:
- Mac OS X: Terminal (default), iTerm 2;
- Windows: PuTTY;
- Linux: Terminal, KDE Konsole, XTerm.
С подробным описанием команд для Ubuntu можно ознакомиться в официальной документации.
Вход на сервер через терминал
В операционной системе Ubuntu 20.04 открыть командную строку можно двумя способами: через консоль и через графический терминал.
Для работы через консоль следует нажать сочетание клавиш Ctrl+Alt+F1, для возврата в графический интерфейс — сочетание клавиш Ctrl+Alt+F7.
Для запуска терминала нажмите сочетание клавиш Ctrl+Alt+T.

Внизу экрана располагается приглашение командной строки — последовательность символов, извещающая о готовности к обработке команд:
kamilla@kamilla-Aspire-V3-371:~$
- kamilla — имя текущего пользователя (суперпользователь/администратор);
- kamilla-Aspire-V3-37 — имя хоста (сервер);
- : — разделитель;
- ~ — текущая директория (в какой папке выполняется команда) пользователя (по умолчанию /home/);
- $ — символ приглашения ввода для пользователей с обычными правами;
- # — символ приглашения ввода для суперпользователя/администратора root (например, root@cs49647:~#).
Базовые команды, используемые при настройке сервера
После создания нового сервера необходимо предпринять несколько шагов по его базовой настройке.
Для того чтобы открыть сервер под учетной записью заведенного пользователя введите команду:
ssh -p №port demo@adress

- №port — номер заданного порта при начальной настройке сервера;
- demo — имя пользователя;
- adress — ip-адрес сервера.
Для входа на сервер под учетной записью root используйте команду, заменив SERVER_IP_ADDRESS на публичный IP-адрес вашего сервера:
ssh root@SERVER_IP_ADDRESS
Для создания новой учетной записи пользователя введите команду, заменив имя DEMO на любое другое необходимое имя:
adduser DEMO
Для открытия конфигурационного файла в текстовом редакторе под пользователем root введите команду:
nano /etc/ssh/sshd_config
Для замены строчки в открывшемся конфигурационном файле найдите, например, строчку Port 22 и замените число 22 на любое другое число (от 1025 и до 65536).
После внесения изменений сохраните и закройте файл, нажав сочетание клавиш CTRL-X, затем клавишу Y, затем клавишу ENTER.
Для перезапуска сервиса SSH выполните следующую команду:
service ssh restart
Для выполнения команды с привилегиями root-пользователя, перед ней следует поставить слово sudo:
sudo command_to_run
Для завершения сессии выполните команду:
exit
Обзорное описание команд, аргументов и опций для них
Для запуска команды следует ввести команду и нажать клавишу Enter.
Команды выполняются последовательно, для выполнения следующей появится приглашение командной строки (если не использовать специальные скрипты).
Для того чтобы открыть страницу с подробным описанием команды Linux, например ip address, введите команду man с именем команды:
man ip address
Запуск без аргументов и опций
При запуске команд без аргументов:
- cd — возврат в домашнюю директорию текущего пользователя;
- ls — вывод списка файлов и директорий в текущем каталоге.
Пример:
Выполнив команду ls без параметров, получаем список файлов в каталоге:
testk@cs49647:~$ ls
linux.jpg template ubuntu.jpg
Запуск с аргументами (параметрами)
Большинство команд рассчитано на запуск с передачей аргументов (параметров).
Наиболее распространенное использование команды cd — вызов с аргументом, который является путем к директории, в которую следует перейти:
cd /usr/bin
Запуск с опциями
Многие команды также поддерживают опции (флаги, ключи) запуска, позволяющие изменять результат выполнения команды. Опции представляют собой одиночный символ после символа «-», либо в расширенном написании после «—».
Пример:
Выполнив команду ls с опциями -A, -S, -1, получаем список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру:
testk@cs49647:~$ ls -AS1
.gtkrc-2.0
linux.jpg
ubuntu.jpg
template
.filter
Запуск с аргументами и опциями (одновременно)
Структура записи команды с опциями и аргументами:
команда -опции аргументы
Пример:
Команда ls -la /home выведет подробный (-l) листинг директории /home, включая скрытые файлы (-a):
testk@cs49647:~$ ls -la /home
total 12
drwxr-xr-x 3 root root 4096 Oct 14 16:13 .
drwxr-xr-x 22 root root 4096 Oct 20 10:25 ..
drwxr-xr-x 4 testk testk 4096 Oct 19 10:52 testk
Переменные окружения
Окружение/среда (environment) — это набор пар ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, которые могут использоваться запускаемыми процессами.
Просмотр переменных окружения
Для того чтобы посмотреть свое окружение введите команду без аргументов:
В зависимости от конфигурации системы, вывод списка переменных окружения может занять несколько экранов, поэтому лучше использовать команду:
env | more
Просмотр значения переменной
Переменные окружения могут формироваться как из заглавных, так и из строчных символов, однако исторически повелось именовать их в верхнем регистре.
Чтобы вывести на экран значение какой-нибудь переменной окружения, достаточно набрать echo $ИМЯ_ПЕРЕМЕННОЙ, например, просмотр домашней директории пользователя, хранящийся в переменной окружения $HOME:
echo $HOME
Для перехода в домашнюю директорию следует использовать команду:
cd $HOME
Установка переменных окружения
Для установки значений переменной окружения введите команду:
VAR=value
VAR — название переменной;
value — значение переменной.
Пример:
Выполнив команду var=value, после вывода на просмотр получаем результат value:
testk@cs49647:~$ var=value testk@cs49647:~$ echo $var value
Заключение
Мы познакомились с принципами работы в командной строке и базовыми командами.
В последующих статьях цикла, описывающего принципы работы в Linux, вы изучите с работой в bash (переменные, условия, циклы, примеры простых скриптов), а также ознакомитесь с управлением файлами и каталогами, созданием пользователей и настройкой прав.
Основные команды Linux: почти полное руководство с примерами
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Инструкция
Как разработать gRCP-сервис на Go
Bash (Русский)/Prompt customization (Русский)
Состояние перевода: На этой странице представлен перевод статьи Bash/Prompt customization. Дата последней синхронизации: 10 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
В Bash существует несколько приглашений командной строки, каждое из которых можно настроить на основе личных представлений об удобстве и эстетичности.
Приглашения
Bash имеет четыре строки приглашения, каждая из которых может быть настроена.
- PS1 — основное приглашение, которое отображается перед каждой командой; по этой причине модифицируется чаще всего.
- PS2 — второе приглашение, отображается, если команде требуются дополнительные данные для ввода (например, в случае многострочных команд).
- PS3 — используется довольно редко. Отображается при работе встроенной команды Bash select , выводящей интерактивное меню. В отличие от остальных приглашений, не раскрывает escape-последовательности Bash. Обычно все изменения применяются непосредственно в скрипте, содержащем select , а не в файле .bashrc .
- PS4 — также используется редко. При отладке скриптов показывает уровни вложенности — первый символ приглашения повторяется столько раз, сколько на данный момент задействовано уровней.
Настройка конкретного приглашения подразумевает присваивание (обычно в файле ~/.bashrc ) необходимой строки в переменную, например:
Техники
Приглашение всегда можно задать строкой в явном виде, но существует ряд техник, позволяющих сделать его более динамичным и полезным.
Escape-последовательности Bash
При выводе строки приглашения Bash ищет экранированные символом слэша символы (escape-последовательности) и конвертирует их в специальные строки. Например, \u превратится в имя пользователя, а \A — в текущее время. Таким образом, если переменной PS1 присвоить ‘\A \u $ ‘ , то приглашение будет выглядеть как 17:35 пользователь $ .
Полный список escape-последовательностей можно найти в руководстве bash(1) § PROMPTING и в справочнике Bash.
Escape-последовательности terminfo
Помимо escape-последовательностей, которые понимает Bash, большинство терминалов также распознают специальные последовательности, которые влияют на терминал сам по себе, а не на печатаемые символы. Например, так можно изменить цвет строки символов, сдвинуть курсор в произвольную позицию или очистить экран. Эти последовательности могут быть довольно неудобными и варьируются от терминала к терминалу, поэтому они задокументированы в базе данных terminfo. Чтобы увидеть, какие свойства поддерживает ваш терминал, выполните:
$ infocmp
Значение свойств можно найти в terminfo(5) по их названиям (часть перед =). Например, свойство setaf настраивает цвет шрифта для всего текста, который будет напечатан после него. Узнать escape-код свойства можно командой tput . Например,
$ tput setaf 2
выведет escape-последовательности для настройки зелёного цвета шрифта.
Примечание: Если команда tput не работает, убедитесь, что значение TERM имеет верное значение для вашего терминала. Например, если установлено значение xterm вместо xterm-256color , то tput setaf будет работать только с номерами цветов 0-7.
На практике, чтобы использовать эти возможности в приглашении командной строки, можно использовать подстановку команд Bash и интерполяцию строк. Например:
GREEN="\[$(tput setaf 2)\]" RESET="\[$(tput sgr0)\]" PS1="$my prompt$> "
Примечание: Руководство Bash рекомендует «обернуть» вывод tput в \[ \] . Это поможет Bash правильно учитывать непечатаемые символы при вычислении длины приглашения. При подстановке команд это не работает, поэтому используйте значения \1 \2 .
Escape-последовательности ANSI
К сожалению, ANSI-последовательности могут отсутствовать в базе terminfo вашего терминала. Чаще всего это касается последовательностей для новейших возможностей вроде поддержки 256 цветов. В этом случае использовать tput не получится и придётся вводить escape-последовательности вручную.
Примеры escape-последовательностей можно найти в статье Управляющие последовательности ANSI. Каждая последовательность начинается с литерала escape-последовательности, которую вы можете ввести с помощью escape-последовательности Bash \e . Например, \e[48;5;209m задаст персиковый цвет фона (если есть поддержка 256 цветов), а \e[2;2H сдвинет курсор в левый верхний угол экрана.
В случаях, когда escape-последовательности Bash не поддерживаются (как в приглашении PS3), их можно добавить командой printf:
ESC=$(printf "\e") PEACH="$ESC[48;5;209m"
Встроенные команды
Если вы хотите добавить вывод какой-нибудь команды в приглашение, то используйте подстановку команд (command substitution). Например, чтобы добавить величину свободной памяти к приглашению попробуйте что-то вроде:
PS1="$(awk '/MemFree/' /proc/meminfo) prompt > "
53718 prompt > 53718 prompt > 53718 prompt >
Как видно, это работает не совсем корректно — значение памяти всегда одно и то же! Причина — команда выполняется только один раз при первой настройке PS1. Необходимо предотвратить подстановку либо экранированием символа $ , либо определением строки в одиночных кавычках — в обоих случаях подстановка будет производиться каждый раз при настоящем отображении приглашения:
PS1="\$(awk '/MemFree/' /proc/meminfo) prompt > " # или PS1='$(awk "/MemFree/" /proc/meminfo) prompt > '
Если команды сделали приглашение слишком длинным, для лучшей читабельности можно вынести их в функцию:
free_mem() < awk '/MemFree/' /proc/meminfo > PS1='$(free_mem) prompt > '
Примечание: В подстановочных функциях можно использовать escape-последовательности terminfo/ANSI, но не последовательности Bash. В частности, \[ \] не будет работать при обрамлении ими строки с непечатаемыми символами. Вместо этого используйте восьмеричные экранированные последовательности \001 и \002 (например, в командах printf или echo -e ).
PROMPT_COMMAND
Переменной PROMPT_COMMAND можно присвоить произвольную команду, которая будет выполняться непосредственно перед выводом PS1. Это позволяет создавать довольно мощные эффекты. Например, можно переназначить PS1 на основе некоторых условий, или выполнить какие-то действия с историей Bash при выполнении любой команды.
Важно: PROMPT_COMMAND не должна использоваться для вывода символов непосредственно в приглашение. Символы, напечатанные вне PS1, не учитываются Bash, что может привести к неправильному позиционированию курсора и обычных символов. Либо используйте PROMPT_COMMAND для задания PS1, либо изучите рекомендации в разделе #Встроенные команды.
Совет: Если PROMPT_COMMAND стала слишком сложной, bash-preexec (реализация хук-функций preexec и precmd Zsh для Bash) может упростить работу с ней.
Escape-последовательности между вводом и выводом
Свойства вводимого текста можно изменить, «забыв» отключить свойства в конце PS1. Например, если вставить tput blink в конец PS1, то вводимые команды будут мерцать. Тем не менее, этот эффект также перейдёт и на вывод команды, поскольку свойства не отключаются при нажатии Enter .
Чтобы вставить escape-последовательность после ввода, но перед началом вывода, можно перехватить (trap) Bash-сигнал DEBUG, который посылается перед выполнением каждой команды:
$ trap 'tput sgr0' DEBUG
Настройка приглашения root
Для удобства можно сделать приглашение командной строки root-пользователя визуально отличным от обычного (возможно, мерцающий красный цвет?). Настройка приглашения производится как обычно, но в домашнем каталоге суперпользователя, /root . Начните с копирования шаблонов /etc/skel/.bash_profile и /etc/skel/.bashrc в каталог /root , после чего внесите в файл /root/.bashrc необходимые изменения.
Примеры
Цвета
Совет: Вывод infocmp содержит доступное для tput количество цветов, например — colors#8 .
Увидеть все цвета вашего терминала можно с помощью простого цикла (замените setab на setaf , если нужен цвет текста, а не фона):
for C in ; do tput setab $C echo -n "$C " done tput sgr0 echo
Если это не работает (причём установлено правильное значение TERM), протестируйте вручную разные последовательности:
# стандартные цвета for C in ; do echo -en "\e[$m$C " done # цвета высокой интенсивности for C in ; do echo -en "\e[$m$C " done # 256 цветов for C in ; do echo -en "\e[48;5;$m$C " done echo -e "\e(B\e[m"
Аналогичные значения для текста (не фона): стандартные — 30..37 , высокая интенсивность — 90..97 , а для 256 цветов замените 48 на 38.
Основные свойства
Следующие свойства terminfo будут полезны при настройке приглашения и поддерживаются во многих терминалах. #1 и #2 необходимо заменить на числовые аргументы.
| Свойство | Escape-последовательность | Описание |
|---|---|---|
| Свойства текста | ||
| blink | \E[5m | мерцающий тект вкл |
| bold | \E[1m | полужирный текст вкл |
| dim | \E[2m | тусклый текст вкл |
| rev | \E[7m | обратное отображение вкл (текст/фон меняются цветами) |
| sitm | \E[3m | курсив вкл |
| ritm | \E[23m | курсив выкл |
| smso | \E[7m | выделение текста вкл |
| rmso | \E[27m | выделение текста выкл |
| smul | \E[4m | подчёркивание вкл |
| rmul | \E[24m | подчёркивание выкл |
| setab #1 | \E[4#1m | задать цвет фона #1 (0-7) |
| setaf #1 | \E[3#1m | задать цвет текста #1 (0-7) |
| sgr0 | \E(B\E[m | отключить все атрибуты текста |
| Перемещение курсора | ||
| sc | \E7 | сохранить позицию курсора |
| rc | \E8 | вернуть курсор в сохранённую позицию |
| clear | \E[H\E[2J | очистить экран и переместить курсор в левый верхний угол |
| cuu #1 | \E[#1A | переместить курсор вверх на #1 строк |
| cud #1 | \E[#1B | переместить курсор вниз #1 строк |
| cuf #1 | \E[#1C | переместить курсор вправо #1 столбцов |
| cub #1 | \E[#1D | переместить курсор влево #1 столбцов |
| home | \E[H | переместить курсор в левый верхний угол окна |
| hpa #1 | \E[#1G | переместить курсор в столбец #1 |
| vpa #1 | \E[#1d | переместить курсор в строку #1, первый столбец |
| cup #1 #2 | \E[#1;#2H | переместить курсор в строку #1, столбец #2 |
| Удаление символов | ||
| dch #1 | \E#1P | удалить #1 символов (аналогично нажатию клавиши backspace) |
| dl #1 | \E#1M | удалить #1 строк |
| ech #1 | \E#1X | стереть #1 символов (без перемещения курсора) |
| ed | \E[J | очистить до нижнего края экрана |
| el | \E[K | очистить до конца строки |
| el1 | \E[1K | очистить до начала строки |
Отображение кода выхода
Тем же приёмом, как в случае встроенных команд, можно отложить интерполяцию специальной переменной Bash вроде $? . Следующие приглашения будут содержать код выхода предыдущей команды:
PS1="\$? > " # или PS1='$? > '
0 > true
0 > false
1 >
Это можно сделать с помощью условных выражений и функций:
exitstatus() < if [[ $? == 0 ]]; then echo ':)' else echo 'D:' fi >PS1='$(exitstatus) > '
🙂 > true
🙂 > false
D: >
Позиционирование курсора
Курсор можно перемещать по экрану во время нахождения «внутри» приглашения PS1, чтобы разные части приглашения появлялись в разных местах. Важный момент — после всех перемещений и вывода символов в любых местах экрана курсор необходимо вернуть в исходную позицию. Это можно сделать с помощью свойств sc и rc , которые сохраняют и восстанавливают позицию курсора соответственно. Общая схема приглашения, содержащего перемещения курсора:
Весь блок с перемещениями курсора обёрнут в \[ \] , чтобы Bash не учитывал непечатаемые символы как часть приглашения.
Выравнивание по правому краю
Простейший способ напечатать текст у правого края экрана — использовать printf:
rightprompt() < printf "%*s" $COLUMNS "right prompt" >PS1='\[$(tput sc; rightprompt; tput rc)\]left prompt > '
left prompt > right prompt
Здесь задано поле %*s переменной длины с выравниванием по правому краю. Размер поля равен текущему количеству столбцов в терминале ( $COLUMNS ).
Произвольное позиционирование
Свойство cup перемещает курсор в конкретную позицию экрана, например, tput cup 20 5 переместит курсор на строку 20, столбец 5 (координаты 0 0 обозначают верхний левый угол). cuu , cud , cuf и cub (вверх, вниз, вперёд, назад) перемещают курсор относительно текущей позиции. Например, tput cuf 10 переместит курсор на 10 символов вправо. В аргументах можно использовать переменные LINES и COLUMNS , если требуется переместить курсор относительно нижнего и правого краёв окна. Например, перемещение на 10 строк и 5 столбцов от правого нижнего угла:
$ tput cup $((LINES - 11)) $((COLUMNS - 6))
Настройка названия окна терминала
Название окна терминала можно настроить так же, как и приглашение: выводом escape-последовательностей в оболочке. Часто пользователи встраивают настройки названия окна в своё приглашение. Технически это возможность xterm, но и другие современные терминалы её поддерживают. В этом случае используют последовательности ESC]2;новое названиеBEL , где ESC и BEL — символы escape (выход) и bell (сигнал). С последовательностями Bash приглашение с встроенным названием окна будет иметь вид:
PS1='\[\e]2;новое название\a\]prompt > '
Само собой, строка названия окна может включать вывод встроенных команд или переменные вроде $PWD , так что она может перенастраиваться после каждой команды.
Смотрите также
- Примеры и скриншоты на теме форума: What’s your PS1? (доступно только после входа)
- Файл /etc/bash/bashrc для Gentoo; см. также gentoo-bashrcAUR
- tput(1)
- Цвета и перемещение курсора с tput
[xfce4] Как изменить приглашение командной строки в Terminal?
В xfce4 по умолчанию в Terminal у меня стоит приглашение командной строки вида bash-3.1$. Как его можно поменять? Хочу сделать приглашение как в настоящей консоли вида @:$.
Betanuzir
07.05.09 16:48:49 MSD
Re: [xfce4] Как изменить приглашение командной строки в Terminal?
В .bashrc PS1=’\u@\h:\w$’
Sekai☆
( 07.05.09 16:54:16 MSD )Re: [xfce4] Как изменить приглашение командной строки в Terminal?
Сработало. Но попутно возник вопрос: почему в консоли (не в иксовом эмуляторе консоли, а именно в консоли, которая остаётся после выхода из иксов) приглашение имеет такой вид даже без установки значения PS1 вручную?
Betanuzir
( 07.05.09 17:29:11 MSD ) автор топика
Re: [xfce4] Как изменить приглашение командной строки в Terminal?
из за разницы в запуске $SHELL
если bash запускается как login shell то читается /etc/profile , ~/.bash_profile
если нет — не читается
~/.bashrc читается всегда
Sylvia ★★★★★
( 07.05.09 17:35:51 MSD )Re: [xfce4] Как изменить приглашение командной строки в Terminal?
Т.е. изменять приглашение придётся для каждого пользователя по отдельности? Для всех сразу нельзя?
Betanuzir
( 07.05.09 17:45:27 MSD ) автор топика
Re: [xfce4] Как изменить приглашение командной строки в Terminal?
FILES
/bin/bash
The bash executable
/etc/profile
The systemwide initialization file, executed for login shells
/etc/bash.bashrc
The systemwide per-interactive-shell startup file
/etc/bash.logout
The systemwide login shell cleanup file, executed when a login shell exits
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login shell exits
~/.inputrc
Individual readline initialization fileесли для всех — /etc/bash.bashrc
Sylvia ★★★★★
( 07.05.09 17:50:41 MSD )Re: [xfce4] Как изменить приглашение командной строки в Terminal?
Написал в /etc/bash.bashrc. Не помогло. Правда, файла такого, bash.bashrc, в /etc/ не было. Пришлось вручную создавать и выдавать всем права на выполнение. В /etc/profile вызова /etc/bash.bashrc тоже не нашёл. Или он не оттуда должен вызываться? Может в моём случае он не в /etc/лежать должен? ОС: Slackware 12.2.