Чи можете ви поділитися мудрістю щодо використання HISTIGNORE в bash?


25

Я читав на літаку манпажі для удару, і я наткнувся на змінну HISTIGNORE. Щоб перевірити це, я одразу відредагував свій .profile, щоб визначити цю змінну:

експорт HISTIGNORE = ls

Я перевірив це, і це чудово! Це виключає прості команди 'ls' з моєї історії, не виключаючи більш цікавих команд з довгими шляхами, але нещодавно накопичивши велику кількість мудрості від SU, я хочу дізнатися, що можуть рекомендувати інші команди суперповерхів чи інші уроки.

Чим ви можете поділитися щодо використання змінної HISTIGNORE в bash?

Відповіді:


28

Я ігнорую lsбез команд, bg, fg, exit, pwd, clear, mountі umount:

Якщо ви включите це у свій HISTIGNOREрядок, ви можете придушити що завгодно, додавши пробіл в передній частині команди:

"[ \t]*" 

Це моє HISTIGNORE:

HISTIGNORE="&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*"

Я виключив деякі інші речі, які у мене є, це повторювані команди, унікальні для мого сервера. Все, що ви робите просто, - це добре виключити.

У мене є інші речі, які я забув додати, але я знаходяться в милях від моєї скриньки Linux, тому я втрачаю пам'ять.


5
Якщо значення HISTCONTROLвключає "ignorespace" або "ignoreboth", команди, які починаються з пробілу, опускаються з історії. Якщо значення включає "ignore dups" або "ignoreboth", це те саме, що "&" в HISTIGNORE.
Денніс Вільямсон

Для мене це також виявилося корисним для гістигнорування самої historyкоманди.
con-f-use

1
використовуючи "[ \t]*"команду ignores, починаючи з пробілу або t. ХочешHISTIGNORE=$'&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*'
Григорій Пакош

13

Не зберігайте тривіальні команди з одним та двома символами у списку історії:

HISTIGNORE='?:??'

Якщо extglobпараметр включений, ви також можете використовувати розширені шаблони, наприклад

HISTIGNORE='a*( )'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.