Esiste un modo per controllare solo la cronologia della sessione corrente?


10

Volevo sapere se ci sono comandi o altri modi in cui posso controllare la cronologia dei miei comandi solo nella sessione corrente.

Risposte:


12

Il historybuilt-in bashconsente di specificare i nomi dei file quando utilizzato con i -anrwflag e la -adescrizione dei flag dagli help historystati:

aggiungere le righe della cronologia da questa sessione al file della cronologia

Pertanto, possiamo fare:

~$ history -a this_session.history
~$ cat ./this_session.history 
history mysession.history 
cat mysession.history 
clear
history -a this_session.history

Per la cronaca, -w(la cronologia di scrittura nel file opion) scrive l' intera cronologia nel file specificato, quindi -a(append) qui è la scelta preferita.


Ci sono altri modi manuali. In particolare kshnon ha -asegnala come bashfa, ma cosa ksh e mkshhanno è HISTFILEvariabile d'ambiente (e bashha anche quello, perché bashincluso un sacco di kshfunzioni); a proposito, questa variabile di default non è impostata (almeno mkshsu Ubuntu non l'ha impostata). Quindi, per l'output della sessione corrente su un altro file, chiamiamo HISTFILEanteposto al comando che nella sintassi della shell significa eseguire il comando con la variabile d'ambiente aggiuntiva specificata. Così:

bash-4.4$ HISTFILE='mykshfile.hist' ksh
$ echo 'Hello'
Hello
$ echo 'World'
World
$ 
bash-4.4$ cat ./mykshfile.hist 
�echo 'Hello'
echo 'World'

Ciò che puoi anche vedere da questo è che kshe le sue shell correlate generano la cronologia con caratteri speciali, invece del testo normale bash. Quindi, potresti voler aprire quel file con ksh.

Per quanto riguarda la shell POSIX /bin/shsu Ubuntu , che è Debian Almquist Shell o Dash, esiste già fcintegrata . Tuttavia, su Ubuntu il trattino è compilato senza lib-edit , che è una scelta consapevole da parte degli sviluppatori Ubuntu per motivi di prestazioni, quindi fce altre modalità che richiedono l'editing di linea non funzionano immediatamente (a meno che non si ricompili dashe si installi lib-edit).


I modi neutri della shell sarebbero di registrare la sessione con strumenti esistenti o scrivere la propria funzione per registrare in base al comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.