Comment faire fonctionner le fichier .profile sur la machine Solaris ?
Question
Cela me frustre depuis deux jours et il semble que cela devrait être une chose très simple.Je viens de créer un compte sur une machine Solaris.Sun OS 5.10 je crois.
La valeur par défaut est le shell Bourne dont je ne veux pas.j'ai fait un cat /etc/shells
ce qui donne :
/bin/sh
/sbin/sh
/bin/ksh
/usr/bin/ksh
On dirait que Korn Shell est tout ce que je peux utiliser.
J'ai créé un .profile
fichier et écrit :
export SHELL=/usr/bin/ksh
Puis j'ai fait un env
et on dirait /bin/sh
est toujours répertorié comme mon shell.Je me suis déconnecté, reconnecté et maintenant j'obtiens :
-sh: SHELL=/usr/bin/ksh: is not an identifier
J'ai essayé d'ajouter #!/usr/bin/ksh
au début du .profile
.Cela n'a pas fonctionné.J'ai essayé d'ajouter un point-virgule à la fin de export
.Cela n'a pas fonctionné.J'ai essayé: SHELL=/bin/ksh
et ça n'a pas marché non plus.
Mon objectif final est d'amener cet environnement à un point où je peux fonctionner de manière productive.Je suis habitué à BASH où j'ai des tabulations complètes, une flèche vers le haut pour l'historique, etc. et ce shell Bourne n'a rien de tout cela et cela me frustre sans fin.
Je sais que cela doit être simple, mais toutes mes recherches sur Google ne servent à rien.Est-ce que quelqu'un peut m'aider?
La solution
/etc/shells
n'est pas un fichier Solaris standard, vous ne devriez probablement pas vous fier à son contenu.
D'autre part, bash
fait partie de l'installation par défaut de Solaris 10.Il devrait déjà être présent comme /bin/bash
(/usr/bin/bash
en fait mais /bin
est un lien symbolique vers /usr/bin
de toute façon).
Si bash
n'est pas là, vous souhaiterez peut-être demander à l'administrateur d'installer le SUNWbash
colis du Solaris_10/Product
répertoire dans le support d'installation.
Ensuite, pour mettre à jour votre shell, la méthode habituelle consiste à mettre à jour le shell défini pour votre compte.S'il est local, c'est le dernier champ de votre /etc/passwd
entrée.
Alternativement, vous pouvez utiliser ce hack à la fin de votre .profile :
[ ! "$BASH_VERSION" -a -x /bin/bash ] && SHELL=/bin/bash exec /bin/bash
Autres conseils
Par ordre décroissant de préférence
- demandez à l'administrateur système d'installer bash et de mettre à jour /etc/shells et de mettre à jour votre shell de connexion
- voir si le
chsh
un programme est installé qui vous permettra de modifier votre propre shell de connexion - demandez à l'administrateur système de changer votre shell de connexion en /usr/bin/ksh
modifiez votre ~/.profile :
if type [[ >/dev/null; then : # this is ksh else # not ksh export SHELL; SHELL=/usr/bin/ksh exec $SHELL fi