Spec-Zone.ru › Fish 3.3

history — отображение и управление историей команд

Краткое описание

history [ search ] [ --show-time ] [ --case-sensitive ] [ --exact | --prefix | --contains ] [ --max=n ] [ --null ] [ -R | --reverse ] [ "search string"... ]
history delete [ --show-time ] [ --case-sensitive ] [ --exact | --prefix | --contains ] "search string"...
history merge
history save
history clear
history ( -h | --help )

Описание

history используется для поиска, удаления и других манипуляций с историей интерактивных команд.

Доступны следующие операции (подкоманды):

  • search возвращает элементы истории, соответствующие строке поиска. Если строка поиска не указана, возвращаются все элементы истории. Это основная операция, если не указана другая. Вам нужно явно указать history search только если вы хотите выполнить поиск по одной из подкоманд. --contains опция поиска будет использована, если вы не укажете другую. Элементы упорядочены от новых к старым, если вы не используете флаг --reverse. Если вывод прикреплен к терминалу, функция history передаст вывод через ваш просмотрщик страниц. Встроенная команда history просто записывает результаты в стандартный вывод.
  • delete удаляет элементы истории. --contains опция поиска будет использована, если вы не укажете другую. Если вы не укажете --exact, перед удалением каких-либо элементов отобразится запрос, в котором вы должны указать, какие записи следует удалить. Вы можете ввести слово «all», чтобы удалить все соответствующие записи. Вы можете ввести единственный идентификатор (число в квадратных скобках), чтобы удалить только эту запись. Вы можете ввести несколько идентификаторов, разделенных пробелами, чтобы удалить несколько записей. Просто нажмите [enter], чтобы ничего не удалять. Обратите внимание, что интерактивное поведение удаления является функцией функции history. Встроенная команда history поддерживает только --exact --case-sensitive удаление.
  • merge немедленно включает изменения истории из других сеансов. Обычно fish игнорирует изменения истории из сеансов, начатых после текущего. Эта команда немедленно применяет эти изменения.
  • save немедленно записывает все изменения в файл истории. Оболочка автоматически сохраняет файл истории; эта опция предоставляется для внутреннего использования и обычно не должна использоваться пользователем.
  • clear очищает файл истории. Перед стиранием истории отображается запрос, подтверждающий, что вы действительно хотите очистить всю историю, если не используется builtin history.

Доступны следующие опции:

Эти флаги могут появиться перед или сразу после одной из подкоманд, перечисленных выше.

  • -C или --case-sensitive выполняет поиск с учетом регистра. По умолчанию поиск не учитывает регистр. Обратите внимание, что до Fish 2.4.0 по умолчанию был поиск с учетом регистра.
  • -c или --contains ищет или удаляет элементы в истории, содержащие указанную строку текста. Это значение по умолчанию для флага --search . Это в настоящее время не поддерживается подкомандой delete.
  • -e или --exact ищет или удаляет элементы в истории, точно соответствующие указанной строке текста. Это значение по умолчанию для подкоманды delete. Обратите внимание, что по умолчанию поиск не учитывает регистр. Если вам действительно нужен точный поиск, включая регистр, вы должны использовать флаг -C или --case-sensitive.
  • -p или --prefix ищет или удаляет элементы в истории, начинающиеся с указанной строки текста. Это в настоящее время не поддерживается подкомандой --delete.
  • -t или --show-time добавляет дату и время записи к каждому элементу истории. По умолчанию используется формат strftime # %c%n. Вы можете указать другой формат; например, --show-time="%Y-%m-%d %H:%M:%S " или --show-time="%a%I%p" Короткий вариант -t не принимает строку формата strftime; он использует только формат по умолчанию. Разрешен любой формат strftime, включая %s для получения исходных UNIX-секунд с эпохи.
  • -z или --null заставляет записи истории, созданные операциями поиска, завершаться символом NUL, а не новой строкой. Это позволяет обрабатывать вывод с помощью read -z для правильной обработки многострочных записей истории.
  • -<number> -n <number> или --max=<number> ограничивает соответствующие элементы истории первыми «n» соответствующими элементами. Это применимо только к history search.
  • -R или --reverse упорядочивает результаты поиска истории от старых к новым. Это порядок, используемый большинством оболочек. По умолчанию используется порядок от новых к старым.
  • -h или --help отображает справку по этой команде.

Пример

history clear
# Deletes all history items

history search --contains "foo"
# Outputs a list of all previous commands containing the string "foo".

history delete --prefix "foo"
# Interactively deletes commands which start with "foo" from the history.
# You can select more than one entry by entering their IDs separated by a space.

Настройка имени файла истории

По умолчанию интерактивные команды регистрируются в $XDG_DATA_HOME/fish/fish_history (обычно ~/.local/share/fish/fish_history).

Вы можете установить переменную fish_history на другое имя для текущего сеанса оболочки. Значение по умолчанию (когда переменная не задана) — fish , что соответствует $XDG_DATA_HOME/fish/fish_history . Если вы установите её, например, на fun , история будет записываться в $XDG_DATA_HOME/fish/fun_history . Пустая строка означает, что история вообще не будет храниться. Это аналогично функциям приватных сеансов в веб-браузерах.

Вы можете изменить fish_history в любое время (используя set -x fish_history "session_name") и это изменение вступит в силу немедленно. Если вы установите её на "default" , она будет использовать имя сеанса по умолчанию (который является "fish").

Другие оболочки, такие как bash и zsh, используют переменную под названием HISTFILE для аналогичной цели. Fish использует другое имя, чтобы избежать конфликтов и указать, что поведение отличается (имя сеанса вместо пути к файлу). Кроме того, если вы установите переменную на значение, отличное от fish или default , импорт истории bash будет заблокирован. Это связано с тем, что наиболее распространённый случай использования этой функции — избегание утечки личной или конфиденциальной истории при проведении презентации.

Примечания

Если вы укажете и --prefix и --contains , будет использоваться последний увиденный флаг.

Обратите внимание, что для обратной совместимости каждая подкоманда может быть также указана как длинная опция. Например, вместо history search можно ввести history --search . Эти длинные опции устарели и будут удалены в будущей версии.

© 2021 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.3/cmds/history.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API