运行 Linux Mint 17.3 Cinnamon
不久前,创建了一个更改终端颜色的脚本(以匹配我正在遵循的教程)
但是,如果我在另一个帐户上打开终端,则会收到此错误:
dircolors: no SHELL environment variable, and no shell type option given
我不再需要这个脚本了,那么我怎样才能找到这个东西在哪里并摆脱它呢?
答案1
有几个地方你可以可以~/.bashrc
除了or之外还使用过脚本/etc/profile
;如果不提供有关您所做更改的详细信息,您只会得到一般建议。例如,您可能有
- 修改或添加文件
/etc/profile.d
- 修改你的
~/.profile
或~/.bash_profile
- 通过脚本(或桌面“启动器”)运行终端
您可以使用 grep 找到可能的位置,例如,
$ grep -r -l dircolors /etc ~ 2>/dev/null
/etc/profile.d/colorls.csh
/etc/profile.d/colorls.sh
/etc/DIR_COLORS
/etc/DIR_COLORS.lightbgcolor
/etc/DIR_COLORS.256color
答案2
如果未设置 SHELL 时不需要 dircolors(“ls”的彩色输出),则将 eval dircolors 命令包装在“if”中。
如果你总是使用 /bin/bash,那么也许这样做:
# enable color support of ls and also add handy aliases
if [ $SHELL = "/bin/bash" -a -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi