在交互式登录时我得到:
dircolors: no SHELL environment variable, and no shell type option given
但是我做设置 SHELL 变量:
% set | grep SHELL
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
在~/.bash_profile
我的资料中是.dircolors
这样的:
eval "`dircolors ~/.dircolors`"
我已经在其他 Linux 主机上这样做过,从来没有问题,但是当我这样做时vzctl enter $CTID
(带有 Debian wheezy 的 OpenVZ 容器),总是会出现这个问题。
为什么会这样?我该如何解决这个问题?
答案1
尝试使用env
命令检查环境变量,看看SHELL
变量是否存在。
set
还可以看到 shell 局部变量,这些变量只能由当前 shell 访问,而不能由每个执行的程序访问[1]
如果SHELL
变量不存在,你可以使用以下方法导出它export SHELL