Kolory znikają, gdy używam mojego .bashrc

0

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ąć .bashrcz ~/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, grepalbo 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?

Abhirath Mahipal
źródło
4
„Lepiej byłoby z .bashrc” ... co się stało z tym, .bashrcco przyszło z Ubuntu?
muru,
3
Powinieneś już mieć domyślny ~/.bashrcplik, 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 dla lsi grep)
steeldriver 10.10.17
@muru Na razie przywróciłem domyślny z katalogu skel.
Abhirath Mahipal,
@steeldriver To działa teraz. Dzięki. Czy możesz mi odpowiedzieć, a ja przyjmuję twoją odpowiedź. Co więcej, czy jestem w jakikolwiek niekorzystny sposób, używając go do budowania na nim? Większość plików rc na github używa czystej konfiguracji. Jakiś konkretny powód?
Abhirath Mahipal,
1
@AbhirathMahipal Większość ludzi, którzy zazwyczaj publikują swoje pliki rc online, jest na tyle szczególna w swojej konfiguracji, że nie chce domyślnie żadnych rzeczy. Ja na przykład nie jestem (a mój bashrc jest głównie domyślny), ale potem nie używam bash (zamiast tego używam zsh).
muru,

Odpowiedzi:

3

Nowy ~/.bashrcplik zastąpił domyślny plik, który został skopiowany z /etc/skelkatalogu podczas tworzenia konta użytkownika. Plik ten zawierał między innymi monit koloru i aliasy dla lsoraz grep.

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

steeldriver
źródło