Подтвердить что ты не робот

Можете ли вы запретить команде переходить в историю команд командной оболочки bash?

Есть ли способ предотвратить добавление команды в историю команд оболочки bash?

Я хотел бы иметь возможность помешать некоторым "опасным" командам добавлять в историю, например "rm -rf ~/some/dir", чтобы она не была доступна мне, нажимая стрелку вверх для достижения предыдущих команд. Таким образом, было бы невозможно случайно повторить одну из этих команд.

Причина, по которой я спрашиваю, заключается в том, что я многократно использую стрелку вверх для доступа к предыдущим командам в истории оболочек и часто поймал себя на том, чтобы попасть в то, что я думал была правильной командой, только чтобы понять, что я собирался сделать что-то глупое/раздражающее/опасное. Мне не нравится идея rm и т.д., Плавающая в моей истории оболочки, ожидая, когда я на них наступлю!

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

4b9b3361

Ответ 1

В более новых Bash версиях вы можете просто добавить пробел в начале вашей команды.:) Если он по умолчанию не работает, добавьте [\ t] * в HISTIGNORE. (Как упоминалось в комментариях. спасибо)

Ответ 2

Добавьте ignorespace в переменную среды HISTCONTROL. Тогда любая командная строка, начинающаяся с пробела, не будет введена в вашу историю.