.inputrc vs .bashrc ustawienia


9

Zauważyłem kilka ustawień .bashrci .inputrcpliki wyglądają tak samo lub są podobne, takie jak:

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

Czy .inputrcustawienia mają również wpływ na zakończenie i rozmiar historii w powłoce Pythona (jeśli są uruchamiane w terminalu)?

Czy jest HISTSIZEograniczony, history-sizeczy też go zastępuje?

Odpowiedzi:


10

Z bashinstrukcji:

history-size (nieoprawny)

Ustaw maksymalną liczbę pozycji historii zapisanych na liście historii. Jeśli ustawione na zero, wszystkie istniejące wpisy historii zostaną usunięte i żadne nowe wpisy nie zostaną zapisane. Jeśli ustawiona na wartość mniejszą od zera, liczba wpisów historii nie jest ograniczona. Domyślnie liczba wpisów historii jest ustawiona na wartość HISTSIZE zmiennej powłoki. W przypadku próby ustawienia history-sizewartości nienumerycznej maksymalna liczba wpisów historii zostanie ustawiona na 500.

Więc jeśli ustawisz HISTSIZE, nie należy ustawiać history-sizew .inputrc. Biblioteka readline (dla której .inputrcjest to konfiguracja) nie dba o to, co ustawiłeś HISTFILESIZE. HISTFILESIZEjest wielkością, do której plik historii ( $HISTFILE) jest obcinany, gdy bashsesja powłoki kończy działanie (przez bash, a nie przez bibliotekę readline).

Zgodnie z pytaniem „ Czy istnieje sposób, aby ustawić rozmiar listy historii w bash na więcej niż 5000 wierszy? ”, history-sizeUstawienie biblioteki readline wydaje się zastępować HISTSIZEustawienie w powłoce, jeśli oba są ustawione.

Opcja nocaseglobpowłoki nie jest taka sama jak completion-ignore-caseustawienie w .inputrc. Opcja powłoki dotyczy zachowania globowania nazw plików, podczas gdy ustawienie readline ma związek z uzupełnianiem nazw plików (po naciśnięciu Tabw wierszu poleceń).

Te .inputrcustawienia mają wpływ na wszystkie programy, które używa biblioteki readline, nie tylko bash.

bashmożna uruchomić bez obsługi readline przez wywołanie go z --noeditingflagą.


Należy zauważyć, że zarówno HISTSIZEi HISTFILESIZEzmienne powłoki , a nie zmiennych, a więc nie muszą być wywożone.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.