Замораживание файла истории временно

Эти два вопроса касаются того, как сохранить заданную команду в истории оболочки:

  • Есть ли способ сохранить команду в вашей истории?
  • Как запустить команду в zsh, не нажимая ее на историю текущего сеанса?

В ответах основное внимание уделяется решениям, в которых пользователь префикс каждой команды (например, пробелом). Я ищу одну команду, которую я могу запустить один раз, и это фактически « заморозило » мой файл истории в оболочке, пока я не разморозит его позже другой командой.

Хотя история « заморожена »:

  1. Я хочу, чтобы мои команды могли быть в состоянии читать из существующего файла истории (например, чтобы я мог выполнять поиск команд, например, Cr , и стандартную автозавершение.

  2. Я хочу, чтобы какие-либо команды, которые я запускал, не добавлялись в историю

Как это сделать с помощью zsh?

  • Как остановить bash из файлов с проверкой синтаксиса?
  • zsh с аргументами
  • Странный вывод на многострочной команде в Китти?
  • Как настроить zsh для запуска меню - для параметров команды?
  • zsh: отключить «файл существует:» предупреждение с перенаправлением
  • скопировать и вставить в zsh
  • Команда в переменной
  • Связанные с движением движения команды tput в zsh: можно ли настроить «четкое» поведение?
  • 2 Solutions collect form web for “Замораживание файла истории временно”

    Вы можете использовать fc -p для запуска нового списка истории, а fc -P для вызова предыдущего списка истории. После простого fc -p вы получаете пустую историю. Вы можете передать имя файла в fc -p чтобы прочитать историю из этого файла, поэтому сохраните историю и немедленно прочитайте ее с помощью fc -p . Когда вы вызываете fc -P , он восстанавливает значение HISTFILE до вызова fc -p .

     freeze_history () { fc -A fc -p $HISTFILE unset HISTFILE } unfreeze_history () { fc -P } 

    К сожалению, история не может быть отредактирована непосредственно в памяти, ее можно только заполнить искусственно, читая из файла.

    Это может помочь: вы можете ввести unset HISTFILE чтобы отключить историю для сеанса. Выйдите из системы и снова запустите его снова.

    Кроме того, вы можете вернуться к команде в истории и удалить ее, нажав CTRL-u .

    Удачи!

    Interesting Posts

    терминал: отображение специальных символов

    Удаление / очистка linux-headers-3.16.0-30-generic, но apt-get хочет установить linux-headers-3.16.0-50-generic

    Xorg: несколько клавиатур, одна конфигурация

    Извлечение пяти случайных элементов из списка с помощью sed

    Ошибки сценариев DASH: я не думаю, что знаю, как правильно настроить переменные

    Номер панели вставки Tmux

    Как проверить, установлен ли какой-либо патч в моей системе?

    Печать файла с локального компьютера с использованием принтера, подключенного к удаленному серверу

    Ошибка при попытке установить KVM на CentOS

    Как работает эта команда sed?

    Синхронизировать горячие клавиши KDE4

    Выполнение нескольких команд bash на выходе find

    Как приоритет дискового ввода-вывода связан с приоритетом процесса?

    акселерометр + экранирование экрана на ноутбуке без сенсорного экрана?

    Резервное копирование и восстановление списка установленных пакетов и источников APT

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