.inputrc vs .bashrc

9

Tenho notado que poucas configurações nos arquivos .bashrc e .inputrc têm a mesma aparência ou são semelhantes, como:

shopt -s nocaseglob vs set completion-ignore-case de export HISTSIZE vs set history-size de export HISTFILESIZE vs set history-size

As configurações de .inputrc também afetam a conclusão e o tamanho do histórico no shell do python (se executado dentro do terminal)?

HISTSIZE é limitado por history-size ou é substituído?

    
por one too many 29.01.2018 / 08:52

1 resposta

10

Do manual bash :

history-size (unset)

Set the maximum number of history entries saved in the history list. If set to zero, any existing history entries are deleted and no new entries are saved. If set to a value less than zero, the number of history entries is not limited. By default, the number of history entries is set to the value of the HISTSIZE shell variable. If an attempt is made to set history-size to a non-numeric value, the maximum number of history entries will be set to 500.

Portanto, se você definir HISTSIZE , não defina history-size em .inputrc . A biblioteca de readline (para a qual .inputrc é a configuração) não se importa com o que você define HISTFILESIZE para. HISTFILESIZE é o tamanho em que o arquivo de histórico ( $HISTFILE ) é truncado quando uma sessão de bash sai (por bash , não pela biblioteca readline).

De acordo com a pergunta " Existe uma maneira de definir o tamanho da lista de histórico no bash para mais de 5000 linhas? ", a configuração history-size da readline biblioteca parece substituir a configuração HISTSIZE no shell, se ambos estiverem configurados.

A opção nocaseglob shell não é igual à configuração completion-ignore-case em .inputrc . A opção shell é sobre o comportamento de globbing de nomes de arquivos, enquanto a configuração de readline tem a ver com a conclusão do nome do arquivo (quando você pressiona a Tab na linha de comando).

As configurações de .inputrc afetam todos os programas que usam a biblioteca readline, não apenas bash .

bash pode ser iniciado sem suporte à linha de chamada invocando-o com o sinal --noediting .

Observe que HISTSIZE e HISTFILESIZE são variáveis do shell , não variáveis de ambiente e, portanto, não precisam ser exportadas.

    
por 29.01.2018 / 09:12