dołączona jest historia bash, ale histappend jest wyłączony

8

Jestem na Ubuntu 10.4, a moja powłoka to bash. Kiedy otwieram i zamykam kilka terminali gnomów, historia jest odpowiednio dołączana. Kiedy wchodzę shopt, mówi między innymi:

histappend      off

Czy ktoś może mi powiedzieć, gdzie jest skonfigurowane zachowanie dołączania?

Ludwig Weinzierl
źródło
1
ponowne tagowanie „ubuntu-10.04-lts”, ponieważ ubuntu-10.10 jeszcze nie jest dostępny. Słyszałem, że to się nazywa Surykatka.
szarlatan
1
btw, moje powłoki bash na Lucid wszystkie pokazują histappend jak na ... żadnych poprawek jeszcze ... czy już poprawiłeś swoją konfigurację bash ?
szarlatan
@quack: Dzięki, jak zwykle wyprzedzam swój czas ;-)
Ludwig Weinzierl
@ quack: Uaktualniłem tę instalację kilka razy, więc nie jestem w 100% pewien. Dla mnie nie ma znaczenia, czy histappend jest włączony czy wyłączony, historia jest zawsze dołączana. Jestem naprawdę ciekawy, dlaczego tak się dzieje? Byłoby wnikliwe, gdybyś mógł zrobić shopt -u histappend i powiedzieć, czy nadal jest dołączany w twojej instalacji?
Ludwig Weinzierl

Odpowiedzi:

1

histappendto ustawienie, które spodziewałem się kontrolować. Ponieważ nie są to powłoki logowania, nie będzie to miało miejsca w /etc/bash.bash.logoutlub ~/.bash_logout. Sprawdź, czy pułapka jest ustawiona, wchodząc trap -p. Sprawdź także, echo $PROMPT_COMMANDczy coś się tam dzieje.

Wstrzymano do odwołania.
źródło
echo $ PROMPT_COMMAND zwraca echo -ne "\ 033] 0; $ {USER} @ $ {HOSTNAME}: $ {PWD / $ HOME / ~} \ 007". trap -p nic nie zwraca. Nie mam pliku /etc/bash.logout, a ~ / .bash_logout nie zawiera historii rejestrowania.
Ludwig Weinzierl
1

bashstara się jak najlepiej dołączyć historię. Po histappendwłączeniu gwarantujesz zawsze dołączanie historii. Jeśli jest wyłączona, historia będzie nadal dodawana tylko do momentu, aż liczba poleceń Enterpojawi się w bashsesji interaktywnej > HISTSIZE. Gdy tak się stanie, historia zostanie zastąpiona.

Jeśli chcesz jawnie zastępowania historii, można użyć history -ww .bash_logoutlub pułapka wyjście.

Bardziej szczegółowo zamieściłem w tej odpowiedzi informacje o tym, jak bashdziała dodatek do historii.

dosentmatter
źródło
-1

Napisałem krótką wskazówkę dotyczącą ustawiania histappend na mojej stronie, ale sparafrazuję ten post, aby odpowiedzieć na twoje pytanie, mam nadzieję.

Powinieneś być w stanie skonfigurować histappend, aby był „włączony” za pomocą shopt.

Aby włączyć bieg

shopt -s histappend

Aby wyłączyć uruchamianie

shopt -u histappend

To pomaga?

Sroka
źródło