Příkaz pro (občasné)neuložení historie terminálu

Dočasně jako workaround používám
Kód: [Vybrat]
kill -9 $$Existuje ale nějaká lepší cesta jak neuložit v daném sezení terminálu  (vzdáleném přes SSH) historii ?? (A opravdu nemyslím teď že každý příkaz budu psát s mezerou)

Jde občasné použití. Je jedno jestli to bude fungovat při spuštění terminálu (nějaký parametr PUTTY), nebo uprostřed nějakým magickým příkazem/settingem proměnné a nebo nakonci  (jako zde zmíněný příklad)

Díky za rady!

(Ocenil bych i nějaké obšírnější informace o ukládání historie , jestli ta volba  funguje i retroaktivně, že se neuloží historie od začátku sezení, když ten příkaz zadám v probíhajícím sezení. A co je to za volbu, nebo co ovlivní že se příkazy ukládají ihned nebo až po skončení)
« Poslední změna: 11. 11. 2021, 11:48:11 od lathe »


Re:Příkaz pro (občasné)neuložení historie terminálu
« Odpověď #1 kdy: 11. 11. 2021, 12:24:37 »
Kód: [Vybrat]
unset HISTFILE
To se využivá při ukončení shellu (tady konkrétně bashe) a až tehdy probíhá uložení historie, má tedy retroaktivní dopad na celé sezení.

Nebo

Kód: [Vybrat]
set +o history
naopak funguje rovnou a vynechá následné příkazy z historie až se bude ukládat, opět platí pro bash.

Tohle neskrije příkazy před auditními nástroji jako auditd

Re:Příkaz pro (občasné)neuložení historie terminálu
« Odpověď #2 kdy: 11. 11. 2021, 12:41:16 »
Případně export HISTIGNORE="*" (nebo si místo hvězdičky můžeš napsat iný regexp pro příkazy, které se nemají ukládat do historie).

Re:Příkaz pro (občasné)neuložení historie terminálu
« Odpověď #3 kdy: 11. 11. 2021, 13:56:48 »
history -c

Re:Příkaz pro (občasné)neuložení historie terminálu
« Odpověď #4 kdy: 12. 11. 2021, 09:28:22 »
A víte o tom, že stačí napsat mezeru na začátku příkazu, aby se tento příkaz neuložil do historie? Tedy při "běžném" nastavení $HISTCONTROL. To používám častěji, než mazání historie celé session.


_Jenda

  • *****
  • 1 605
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Příkaz pro (občasné)neuložení historie terminálu
« Odpověď #5 kdy: 12. 11. 2021, 17:06:16 »
A víte o tom, že stačí napsat mezeru na začátku příkazu, aby se tento příkaz neuložil do historie?
A opravdu nemyslím teď že každý příkaz budu psát s mezerou

Re:Příkaz pro neukládání duplicit historie terminálu
« Odpověď #6 kdy: 24. 11. 2021, 23:24:13 »
Skvělé.  :( >:(  Právě se mi ztratil asi 10 minut psaný odeslaný příspěvek s zprávou Lituji, přistup odepřen, kdy po přihlášení v jiném tabu jsem doufal, že stačí dát Reload. Vypadalo to tak... Prohlížeč se zeptal Resend POST data? Ale hláška fóra řekla NE. Neodeslali jste tento příspěvek dvakrát? NE!!! Neuložil  se vůbec! Ačkoliv technicky se musel odeslat.

Poslední šance Tlačítko zpět... Prázdný formulář...


Nevíte proč mi nefunguje tato konfigurace .bashrc? Záměr je aby se historie neukládaly duplicity a to v další session. A zároveň any zůstávaly předchozí zadané píkazy (což je běžná situace). Prostě aby historie bobtnala, ale ne o duplicity
Kód: [Vybrat]
export HISTCONTROL=ignoreboth:erasedups

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash$
export HISTSIZE=10000
export HISTFILESIZE=20000

Hádám, že chyba bude někde v módu histappend. Jenže z těch voleb a threadů které to rozebírají na stackoveflow mi jde hlava kolem.


Konkrétní příklad (pro stručnost odděleno mezerami aby to nezabíralo tolik řádků tadz
Kód: [Vybrat]
*nová session
ls pwd ls pwd uname
*ukončení
*nová session
ls pwd ls pwd
*ukončení
*nová session
<šipka nahoru dává: pwd ls uname ls pwd
ls
Takže se duplicity neukládjí ale jen v rámci jedné session, to mi ale nestačí.


Další mé "požadavky"
- není nutné ani žádoucí,aby se soubor s historií zapisoval po každém příkazu (stačí po ukončení sezení)
- v případě více souběžných session aby po jejich postupném ukončení se zohlednila historie ze všech (ne aby poslední ukončený pes přemrdal historii)
- není potřeba už aktivně promazávat duplicity v existujícím souboru s historií. To mohu udělat jednorázově až budu mít funkční konfiguraci.
-Ale kdyby existovalo něco jako history --prune nebo --remove-dups, nepohrnul bych
« Poslední změna: 24. 11. 2021, 23:26:56 od lathe »