
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
エラーメッセージはdircolors
(ソースコードを見る)、SHELL
環境変数が設定されていないか空の場合(ソースコードを見る検査のため)。
答え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