В последнее время я начал активно использовать bash, поэтому решил, что мне будет лучше с .bashrc
. Я использую Ubuntu 16.04 LTS. Вот мой.bashrc
. В нем почти ничего нет. Ничего даже отдаленно связанного с цветом.
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* ='
}
Когда я копирую этот файл ~/
и открываю новый терминал, цвета нет. Когда я удаляю свой .bashrc
из ~/
и открываю новый терминал, цвета снова появляются.
Хотя цветной текст, который дают Vim и Git, работает нормально. Цвета не появляются, когда я ls
или grep
использую любую из системных утилит.
Что я читал и пробовал:-
alias ls='ls --color=auto'
- Мне это не нравится, но это работает. Это единственный способ заставить это работать?force_color_prompt=yes
- Я тоже пробовал положить это поверх своего.bashrc
. Не работает.- Повозился со всеми настройками в строке меню. Показывает, что настройки цвета вообще не трогали. Но они не появляются
И почему такие простые изменения конфигурации привели к чему-то столь постороннему?
решение1
Ваш новый ~/.bashrc
файл перезаписал файл по умолчанию, который был скопирован из каталога /etc/skel
при создании учетной записи пользователя. Среди прочего, этот файл предоставил цветовую подсказку и псевдонимы для ls
и grep
.
Вместо создания нового файла ~/.bashrc
повторно скопируйте файл по умолчанию и добавьте в него определения своих функций или создайте отдельный файл для функций иисточникэто из оригинала~/.bashrc