最近我开始广泛使用 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