3

Какой символ форматирования необходимо добавить в приглашение bash чтобы указать самый последний запуск элемента history (или текущий номер команды, если 1 можно добавить к последней записи history )?

Моя строка подсказки такая:

\[\033[33m\][\u@\[\033[1;31m\]\h]\]\033[0m {\W}\n\033[1;34m\]\w\]\033[0m >

Дает мне следующий дисплей:

[user@host] {~}
~ >

Пользователь в желтом, а хост в красном. Запись в скобках - это текущий каталог, а запись перед знаком «больше» - это полный pwd .

Могу ли я добавить в первую строку текущий номер команды, чтобы у меня было что-то вроде следующего:

[user@host] {~} (nnn)
~ >

где (nnn) - текущий (или только что обработанный) номер команды, как показано при запуске history?

1 ответ1

6

Из раздела ПРЕДУПРЕЖДЕНИЕ справочной страницы bash:

\!     the history number of this command
\#     the command number of this command

и далее вниз:

Номер команды и номер истории обычно различаются: номер истории команды - это ее позиция в списке истории, которая может включать команды, восстановленные из файла истории ..., а номер команды - это позиция в последовательности команд выполняется во время текущего сеанса оболочки.

Если вам нужен последний номер команды, вы можете заключить число в арифметическую оценку следующим образом:

export PS1='last cmd num: $((\# -1)), this num: \# '

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .