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

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

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

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

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

  • Копирование файлов с несколькими расширениями
  • Почему это значение PS1 вызывает неожиданное поведение?
  • Как я могу перемещаться между словами в командной строке в tcsh в linux?
  • Ожидает применения инструмента для платформы ARM
  • как запретить команду без разрешения
  • Разделение аргумента командной строки bash
  • Передача аргументов с пробелами и кавычками в скрипт (без цитирования всего)
  • Как открыть сессию bash incognito?
  • One Solution collect form web for “Bash: «номер истории» по сравнению с «номером команды»”

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

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

     export HISTFILESIZE=1001 export HISTSIZE=-1 

    Сюда:

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

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

     499$ 

    чтобы:

     1000$ 

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

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

    Interesting Posts

    Служба Apache / HTTPD не работает

    Количество вхождений в текстовом файле, где первый символ после 12-го канала равен 1?

    lampp on Centos – невозможно остановить / запустить – / opt / lampp / bin / gettext: ошибка при загрузке разделяемых библиотек: libc.so.6

    BASH_ALIASES не равно псевдониму

    Как установить Dot Net Core на Arch Linux

    Как вернуть апплет объема GNOME?

    Не удалось запустить posgtresql, причина не ясна

    Искать несколько удаленных файловых систем одновременно?

    Клиент Openvpn не может ping openvpn сервер и сервер lan

    TERM = (linux | xterm) vi в xterm или проблема AAABBBBBBCCDDD

    Как добавить текст в начало и конец нескольких текстовых файлов в Bash?

    Как я могу заставить мой терминал отрегулировать предыдущий выходной текст из прошлых команд? Возможно ли это?

    Возможно ли, с `sed` или иначе, применить преобразование регулярных выражений к входному потоку, который не может содержать строки новой строки?

    Привязка драйвера устройства I2C

    Установка Kali на USB-накопителе – НЕ Live USB или раздел Persistence

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