Domyślnie bash ładuje linie od ~/.bash_history
do historii. Czy można dodać niestandardowy plik do załadowania? Chcę wstrzyknąć plik zawierający często używane polecenia i uzyskać do nich dostęp za pomocą wbudowanego wyszukiwania.
9
/usr/local/bin
lub coś w tym stylu.bashrc
?Odpowiedzi:
Ułatwiam to dzięki
alias h='history|grep'
załadowaniu do mojego profilu Bash.Mój przepływ pracy to
h command
na przykład:h hpssa
Jeśli chcę uruchomić „
hpssa -stop
”, po prostu wpisałbym!226
To tylko moje podejście, ale może mógłbyś zmodyfikować sposób, w jaki przywołujesz przedmioty historii. Nie sądzę, aby sensowne było wprowadzanie danych do pliku historii.
źródło
docker run ...
Kiedyś byłem bardzo zależny od
Ctrl-R
(reverse-search-history
polecenie Readline), które przeszukuje historię, aby odzyskać wcześniej wprowadzone długie polecenia, ale teraz wolę używać aliasów i skryptów / funkcji powłoki. W każdym raziehistory
można użyć wbudowanego polecenia Bash, aby załadować listę poleceń niestandardowych do bieżącej historii.Ze strony podręcznika użytkownika bash:
Automatyzacja rozruchu
Właśnie próbowałem uruchomić to polecenie automatycznie, dodając je jako ostatni wiersz w moim
.bashrc
. Jednak polecenia z mojego niestandardowego pliku historii nie były dostępne po uruchomieniu nowej powłoki. Wygląda na to, że historia powłoki jest ładowana tylko z.bash_history
pliku domyślnego : po przetworzeniu plików startowych i tuż przed wyświetleniem monitu o interaktywną powłokę. Niestety wydaje się, że nie ma łatwego sposobu na zautomatyzowanie tego.źródło
Jak zauważył @AnthonyGeoghegan, historia jest ładowana po przetworzeniu plików startowych. To oferuje inny sposób na wstępne załadowanie żądanej historii w pliku startowym:
Zauważ, że takie podejście może z czasem spowodować dodanie wielu kopii specjalnych poleceń do historii .bash_hash. Możesz zawijać swoje specjalne polecenia liniami komentarzy, abyś mógł je łatwo znaleźć i usunąć (poprzez np. Sed) w ramach wypełniania pliku .bash_history. Coś jak:
źródło