Ostatnio zacząłem intensywnie używać bash, więc zdecydowałem, że lepiej mi będzie z .bashrc
. Używam Ubuntu 16.04 LTS. Tu jest mój .bashrc
. Prawie nic w tym nie ma. Nic nawet zdalnie związane z kolorem.
function most_active_files_git {
# https://stackoverflow.com/a/7686616/5698202
git log --pretty=format: --name-only | sort | uniq -c | sort -rg
}
function sort_files_by_size_current_directory {
ls -lShr
}
function find_main_function {
grep -r -- 'main[ ]*(\|int main\|__main__\|main\s* ='
}
Kiedy kopiuję ten plik ~/
i otwieram nowy terminal, nie ma koloru. Kiedy usunąć .bashrc
z ~/
i otwarcie nowego terminalu kolory ponownie pojawić.
Kolorowy tekst podany przez Vima i Gita działa jednak dobrze. Brak kolorów pojawiają się, gdy ja ls
, grep
albo użyć dowolnego z narzędzi systemowych.
Rzeczy, które przeczytałem i wypróbowałem: -
alias ls='ls --color=auto'
- Nie podoba mi się to, ale działa. Czy to jedyny sposób, aby to zadziałało?force_color_prompt=yes
- Próbowałem też umieścić to na moim.bashrc
. Nie działa- Majstrowałem przy każdym ustawieniu na pasku menu. Pokazuje, że ustawienie kolorów w ogóle nie zostało zmienione. Ale się nie pojawiają
Również dlaczego tak proste zmiany w konfiguracji spowodowały coś tak niezwiązanego?
.bashrc
co przyszło z Ubuntu?~/.bashrc
plik, który został skopiowany z katalogu / etc / skel podczas tworzenia konta użytkownika. Lepszym punktem wyjścia dla IMHO byłoby zmodyfikowanie tego - zamiast tworzenia jednego od zera (między innymi zapewnia aliasy kolorów dlals
igrep
)Odpowiedzi:
Nowy
~/.bashrc
plik zastąpił domyślny plik, który został skopiowany z/etc/skel
katalogu podczas tworzenia konta użytkownika. Plik ten zawierał między innymi monit koloru i aliasy dlals
orazgrep
.Zamiast tworzyć nowy
~/.bashrc
, skopiuj domyślny i dodaj do niego swoje definicje funkcji - lub utwórz osobny plik dla funkcji i pobierz go z oryginału~/.bashrc
źródło