6 votes

Dircolors : aucune variable d'environnement SHELL, et aucune option de type de shell donnée

Lors de la connexion interactive, j'obtiens :

dircolors : aucune variable d'environnement SHELL et aucune option de type shell n'a été donnée

Mais j'ai bien la variable SHELL définie :

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

Dans ~/.bash_profile, je source .dircolors de cette manière :

eval "`dircolors ~/.dircolors`"

J'ai fait cela sur d'autres hôtes Linux et cela n'a jamais posé de problème, mais lorsque je fais vzctl enter $CTID (conteneur OpenVZ avec Debian wheezy), cela apparaît toujours.

Pourquoi est-ce que cela se produit? Et comment puis-je résoudre ce problème?

0 votes

Avez-vous résolu ?

0 votes

Même problème ici. La variable SHELL est définie. Fonctionne dans tous les environnements sauf dans mon Visual Studio Code avec GitBash (mais même là, la variable SHELL est définie).

2voto

hashlash Points 123

Essayez de vérifier les variables d'environnement en utilisant la commande env et voyez si la variable SHELL existe.

set peut également voir les variables locales de shell, qui ne sont accessibles que par le shell actuel, pas par chaque programme exécuté [1]

Si la variable SHELL n'existe pas, vous pouvez l'exporter en utilisant export SHELL

0 votes

Que devrait être la variable SHELL ?

0 votes

@Turkeyphant Quelque chose comme /bin/bash

0voto

Tom Harrison Jr Points 565

J'ai trouvé ce problème dans un fichier /root/.bashrc dans une image Ubuntu:

# Vous pouvez décommenter les lignes suivantes si vous voulez que 'ls' soit colorisé:
# export LS_OPTIONS='--color=auto'
# eval "$(dircolors)"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'

et quand j'ai décommenté, j'ai reçu l'erreur signalée par l'OP.

Dans ce cas, la variable SHELL était définie -- echo $SHELL a rapporté /bin/bash -- mais pour qu'elle soit visible dans les sous-shell, elle doit être exportée. Donc j'ai ajouté:

export SHELL
export LS_OPTIONS='--color=auto'
eval "$(dircolors)"

et tout était grandiose!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X