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

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

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

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

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

One Solution collect form web for “Bash: «номер истории» по сравнению с «номером команды»”

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

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

 export HISTFILESIZE=1001 export HISTSIZE=-1 

Сюда:

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

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

 499$ 

чтобы:

 1000$ 

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

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

  • Как правильно это перечислить с помощью инструментов Unix для pdfjam?
  • Почему $ является символом по умолчанию для оболочки пользователя и # символом по умолчанию для корневой оболочки?
  • Невозможно сохранить содержимое файла cat или grep
  • Будет ли `cat ~ / foo *> ~ / results / output.txt` сохранять порядок` ~ / foo * `?
  • Как выполнить одну команду для всех файлов в папке
  • Функция stateful bash
  • Захват вывода функции оболочки без подоболочки
  • ZSH, конкатенация передается аргументами в одну строку
  • Как получить две команды?
  • Как всегда распечатать приглашение на новой строке и сохранить ввод
  • Если [является встроенным и [[является ключевым словом, то что есть ((?
  • Консолидация повторного префикса
  • Interesting Posts

    Поиск количества файлов в системе btrfs без использования find

    SSH passwordless root login получает «Permission denied (publickey)».

    Почему «ping -l» не работает, когда работает ping?

    Обеспечение отображения окон X

    Vim Error 'E212: невозможно открыть файл для записи' при попытке создания новых файлов вне домашнего каталога

    Я ищу файл исправления Solaris 8

    libtool: error: relink 'libpocketsphinx.la' с указанной командой перед установкой

    Когда требуется двойное цитирование?

    Rsync копирует все снова, а не дельта

    CentOS eth0 не запускается

    Linux iptables DNAT 53306 до 127.0.0.1 3306

    Ноутбук перезагружается, а не возобновляет работу с systemd suspend при питании от батареи (приостановка работы от сети переменного тока работает)

    mailx: nss-config-dir = / etc / pki / nssdb /: Нет такого файла или каталога

    Каковы потенциальные негативы включения учета процессов (пакет psacct)?

    Официальный стандарт / соглашение для расширения файла для сценариев оболочки для источника

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