dircolors: no SHELL environment variable, and no shell type option given

On interactive login I get:

dircolors: no SHELL environment variable, and no shell type option given

But I do have SHELL variable set:

% set | grep SHELL
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor

In ~/.bash_profile I source .dircolors like that:

eval "`dircolors ~/.dircolors`"

I have done this on other Linux hosts and it was never a problem, but when I do vzctl enter $CTID (OpenVZ container with Debian wheezy), this always appears.

Why is it doing that? And how do I fix that?


Solution 1:

Try to check the environment variables using env command and see if the SHELL variable exist.

set can also see shell-local variables, which only accessible by the current shell, not by every executed program [1]

If SHELL variable doesn't exist you can export it using export SHELL