Bash: «номер истории» по сравнению с «номером команды»

В то время как Googling, как настроить приглашение оболочки через переменную PS1, я вижу таблицы специальных символов, которые можно использовать. В частности:

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

«История номер», как представляется, более широко используется, и я знаю, как использовать команды, такие как !523 для повтора команд из истории. Но я не могу понять, имеет ли «номер команды» аналогичную функциональность. Я пробовал помещать \# в свою переменную PS1 и, похоже, выводит количество команд, введенных в определенный сеанс (в отличие от \! Который сохраняется после выхода из системы / выхода).

Кто-нибудь знает, как использовать «номер команды» удобным или значимым образом?

  • Сценарий, выполняемый отлично от разрывов файлов при выполнении с помощью Heredoc (в установке PHPmyadmin)
  • Прогнозирование командной строки
  • Разделение аргумента командной строки bash
  • Код ошибки на подсказке
  • Скобка в команде echo shell
  • cp не работает в скрипте, но работает в терминале
  • Как я могу выполнить команду `history` и не иметь номеров строк, чтобы я мог копировать несколько строк?
  • Проверьте, запущен ли скрипт cron, а не вызван вручную
  • One Solution collect form web for “Bash: «номер истории» по сравнению с «номером команды»”

    Насколько я могу судить (и это, по-видимому, подтверждается вашими исследованиями), нет никакого способа ссылаться на это магическое число в интерактивном режиме, или нет через быстрые клавиши fc или !n N. Кажется, что они относятся только к абсолютной позиции в списке истории, а не к относительной позиции, так как эта конкретная оболочка запускалась (что называется waht \# , как вы правильно указали).

    Единственный способ, который я нашел, чтобы сделать это лучше здесь, – установить следующее:

     export HISTFILESIZE=1001 export HISTSIZE=-1 

    Сюда:

    1. история нового сеанса начинается с 1000 , что упрощает идентификацию, где я нахожусь на сеансе
    2. (несколько несвязанных), я не теряю более старую историю на данном сеансе (но все равно не заливаю файл)

    В основном, это изменило мое измененное приглашение ( PS1="\\!$ " ) Из:

     499$ 

    чтобы:

     1000$ 

    … что делает его немного чище при запуске. Но это, вероятно, не тот ответ, который вы искали. 🙂

    (Кстати, я также посмотрел на zsh для решения, и, похоже, у него просто нет эквивалента \# , так что это тоже не помогает).

    Linux и Unix - лучшая ОС в мире.