Есть ли способ сохранить команду в вашей истории?

Есть ли способ сохранить команду в вашей истории? У меня есть команда, которую я хочу оставить вне моего файла истории, и я действительно не хочу, чтобы она была там, когда я просматриваю историю, хранящуюся в памяти, хотя это менее беспокоит. Есть ли способ предотвратить это, или мне просто нужно вернуться и отредактировать мой файл истории.

update: Я не понял, что это может быть оболочка. Моя оболочка – zsh . Вы можете отвечать за другие оболочки, чтобы люди знали, как это сделать в своей оболочке.

  • Развернуть переменную в определении функции в zsh
  • Экспортировать несколько опций в $ GREP_OPTIONS
  • Почему стиль select-word останавливает меня от использования слова «назад-убить» для ведущих пробелов?
  • ANDed условное использование regexp и переменных
  • Gnome-terminal и Zsh: сохранить текущий каталог на новой вкладке / окне
  • Вернитесь к пути, когда возобновите работу с фона
  • Какая магия позволяет мне добавлять удаленные файлы при вводе команды scp?
  • Гибридный код в сценариях оболочки. Обмен переменными
  • 4 Solutions collect form web for “Есть ли способ сохранить команду в вашей истории?”

    В ZSH :

    Сначала установите HIST_IGNORE_SPACE в свой профиль, а затем префикс команд, которые вы не хотите хранить с space .

    С man-страницы можно использовать следующие 3 опции, чтобы сказать, что определенные строки не должны входить в историю вообще

    • HIST_IGNORE_SPACE не хранит команды с префиксом пробела
    • HIST_NO_STORE не хранит команду истории ( fc -l )
    • HIST_NO_FUNCTIONS не сохраняют определения функций

    Если вы используете команду снова и снова, вы можете использовать функцию игнорирования истории вашей оболочки. Допустим, у вас есть secret.server.com, что вы ssh, FTP-файлы и т. Д., Что вы не хотите, чтобы какая-либо строка упоминала secret.server.com:

    В bash вы установили бы

     HISTIGNORE="*secret.server.com*" 

    тогда как в zsh параметр называется

     HISTORY_IGNORE="*secret.server.com*" 

    Вы можете перечислить несколько шаблонов с двоеточием, разделяющим их. Обратите внимание, что каждый шаблон сопоставляется с полной строкой ввода , поэтому вам может потребоваться включить *. Например, следующее исключает fortune из истории, но сохранит fortune -l :

     HISTIGNORE="*secret.server.com*:ytalk*:fortune" HISTORY_IGNORE="*secret.server.com*:ytalk*:fortune" 

    С набором HISTIGNORE ничто, сопоставимое с отображаемыми вами шаблонами, не будет сохранено в .bash_history / .zsh_history и даже клавиша со стрелкой вверх, которая обычно напоминает вашу предыдущую команду, не будет работать, если она соответствует вашему шаблону.

    В bash используйте переменную HISTCONTROL .

    Установите его в HISTCONTROL=ignorespace (или HISTCONTROL=ignoreboth ). Теперь, когда вы начинаете линию с пробела , она не будет сохранена в истории. Это позволяет не включать в состав файла конфигурации не подлежащую раскрытию команду.

    Даже так, как будто это забывает добавить пространство, а затем хотеть вернуться. Чтобы удалить запись в истории, используйте history -d <index> , index номер, найденный с помощью команды history (первый столбец).

    Самый простой способ для одноразового использования –

     $ $SHELL $$ unset HISTFILE $$ secret-command $$ exit $ 

    где $ представляет собой приглашение начальной оболочки, а $$ представляет собой приглашение подоболочки. Это работает в bash и zsh; в ksh вам нужно HISTFILE=/notwritable . Обратите внимание, что имеет значение значение HISTFILE когда файл истории написан, а не когда команда запущена. Bash, ksh и zsh записывают в файл истории, когда они выходят (zsh может делать это чаще в зависимости от конфигурации).

    В качестве альтернативы вы можете получить bash или zsh, чтобы игнорировать строки, соответствующие определенным шаблонам (это уже покрыто другими ответами).

    Другая возможность в zsh

     % fc -p % secret-command % fc -P 

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

    Пока процесс выполняется, команда и ее аргументы (а также некоторые системы, в том числе и ее среда) будут отображаться в таблице процессов (вывод ps ). Корень может видеть прошлые команды в базе данных системы учета и может выполнять больше регистрации без вашего контроля. И, вероятно, будут все виды судебных доказательств, которые могут показать примерно ту команду, которую вы выполняли (например, время модификации файла). Таким образом, вы не получаете конфиденциальность от определенных подслушивающих устройств.

    Interesting Posts

    Изменить колесо мыши и сенсорную панель с двумя пальцами

    NetCat никогда не заканчивает http-сеанс

    java.net.BindException: адрес уже используется при запуске puppetdb и jira

    Как загрузить файл на веб-странице, которая не является прямой ссылкой, но javascript click.submit ()?

    Восстановить пароль su после изменения / etc / shadow

    Ошибка командной строки flock на xunbuntu 16.04 – непонятно, почему

    В чем разница между идентификатором токена WORD и NAME?

    Запуск команды при запуске

    Сетевое соединение / var с systemd

    Изменить ввод / вывод PulseAudio от Shell?

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

    Динамически растущий файл подкачки на Debian

    Почему мой загрузочный раздел Pandaboard должен быть vfat, а rootfs должен быть ext3 или ext4?

    Почему я не могу обновить ядро ​​Linux в докере?

    Настроить экран GNU для повторного подключения к текущей ширине терминала при повторном подключении?

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