Деякі екземпляри bash змінюють історію команд при повторному використанні та редагуванні попередньої команди, інші, очевидно, ні. Я шукав і шукав, але не можу знайти нічого, що б сказало, як не допустити зміни команд в історії під час їх повторного використання та редагування.
Є такі питання , як цей , але здається , що сказати , як впоратися з історією редагуються. Я нещодавно натрапив на екземпляр bash, який редагує історію, коли ви повторно використовуєте команду - усі попередні bash оболонки, які я використовував, були налаштовані так, щоб я не змінював історію при повторному використанні. і відредагуйте команду. (Можливо, я просто не приділяв належної уваги історії моїх оболонок протягом останніх 15 років або близько того ...)
Отже, це, мабуть, найкраще питання: МОЖЕ Я сказати Башу ніколи не змінювати історію - і якщо так, то як?
set revert-all-at-newline on
вирішує проблему питання, на яке ви посилаєтесь? Чи можете ви показати, як відтворити проблему? Зауважте, що ви також можете використовувати zsh
для поведінки, що більше відповідає тому, що ви хочете.
history -p
щось, що я повинен був би зробити для кожної команди, яку я хочу повторно використовувати - це правильно? Якщо так, то це не зовсім те, що я шукаю. Як я вже згадував, я використовував екземпляри bash, які ніколи не змінюють історію при повторному використанні та редагуванні команди.
revert-all-at-newline
це саме те, що мені потрібно. Якщо я редагую команду і натискаю CTRL-C, щоб скасувати її, я також не хочу, щоб це впливало на історію. Мені ніколи раніше не доводилося налаштовувати bash, щоб не змінювати історію, що є частиною причини, коли я плутаюсь, чому іноді свіжа установка поводиться в один спосіб, а іноді в інший. До речі, для екземпляра, який не редагує історію при повторному використанні команди, bind -V | grep revert
вказується на те, що revert-all-at-newline
встановлено значення "вимкнено".
bash
. Вся справа в читанні. Існують різні реалізації readline
бібліотеки, і вона також має власний набір налаштувань (МНОГО їх) та власний файл конфігурації. Я точно не впевнений, чи це налаштування чи просто різниця в реалізації, але вам слід шукати документацію, пов’язану з читанням ліній, а не bash.
history -p
розширення історії, не впливаючи на файл історії. Ви можете зробитиhistory -s
те ж саме і додавання до історії без виконання. Ви можете зробити,HISTIGNORE='start of a command I never want in history.*:command2.*'
щоб певні команди не були в історії.