.inputrc vs .bashrc settings


9

Ho notato alcune impostazioni in .bashrce .inputrcfile sembrano uguali o simili, come:

shopt -s nocaseglobvs set completion-ignore-case
export HISTSIZEvs set history-size
export HISTFILESIZEvsset history-size

Le .inputrcimpostazioni influiscono anche sul completamento e sulla dimensione della cronologia nella shell di Python (se eseguita all'interno del terminale)?

È HISTSIZElimitato history-sizeo lo ignora?

Risposte:


10

Dal bashmanuale:

history-size (non settato)

Imposta il numero massimo di voci della cronologia salvate nell'elenco della cronologia. Se impostato su zero, tutte le voci della cronologia esistenti vengono eliminate e non vengono salvate nuove voci. Se impostato su un valore inferiore a zero, il numero di voci della cronologia non è limitato. Per impostazione predefinita, il numero di voci della cronologia è impostato sul valore della HISTSIZE variabile shell. Se si tenta di impostare history-sizeun valore non numerico, il numero massimo di voci della cronologia verrà impostato su 500.

Quindi, se si imposta HISTSIZE, non impostare history-sizein .inputrc. La libreria readline (per la quale .inputrcè la configurazione) non importa ciò che hai impostato HISTFILESIZE. HISTFILESIZEè la dimensione a cui $HISTFILEviene troncato il file di cronologia ( ) quando bashesce una sessione di shell (da bash, non dalla libreria readline).

Secondo la domanda " Esiste un modo per impostare la dimensione dell'elenco cronologico in bash su più di 5000 righe? ", L' history-sizeimpostazione della libreria readline sembra sovrascrivere l' HISTSIZEimpostazione nella shell, se entrambi sono impostati.

L' nocaseglobopzione shell non è la stessa completion-ignore-casedell'impostazione in .inputrc. L'opzione shell riguarda il comportamento globbing del nome file, mentre l'impostazione readline ha a che fare con il completamento del nome file (quando si preme Tabsulla riga di comando).

Le .inputrcimpostazioni influiscono su tutti i programmi che utilizzano la libreria readline, non solo bash.

bashpuò essere avviato senza il supporto readline invocandolo con il --noeditingflag.


Si noti che entrambi HISTSIZEe HISTFILESIZEsono variabili shell , non variabili di ambiente, e quindi non hanno bisogno di essere esportati.

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.