OVH Cloud OVH Cloud

Touches flèches sur SunOS/tcsh

16 réponses
Avatar
rmoyen
Salut,

J'ai acc=E8s =E0 une machine Sun (SunOS 8.5) et mon shell est, euh, csh
ou tcsh (je sais, je sais... merci d'=E9viter le troll ici ;-) ), je
sais jamais lequel des deux. Et mon probl=E8me, c'est que je n'arrive
pas =E0 utiliser les touches fl=E8ches pour naviguer dans la ligne de
commande. Actuellement, les fl=E8che me produisent des "^[" (toutes les
4). Notons en plus que les caract=E8res ainsi affich=E9s ne sont pas
effacables par Backspace (mais si j'=E9cris d'autres caract=E8res sur la
ligne, ces autres sont parfaitement effacables).

Sur ma machine habituelle (Linux), j'ai dans mes fichiers de login une
s=E9rie de bindkey pour r=E9gler les quelques touches qui ne font pas ce
que je veux (en l'occurence, les fl=E8ches marchent toutes seules, mais
j'ai d=FB corriger les End/Home/PageUp/...). Probl=E8me, sur la machine
Sun, y'a pas de bindkey (command not found -- je sais, c'est cens=E9
=EAtre un built-in, mais y'a pas...). Une version diff=E9rente et plus
vieille de csh, je suppose...

J'ai vu sur un site qu'il existait parfois une alternative =E0 bindkey,
'bind', mais je ne l'ai pas non plus. J'ai aussi vu ailleurs que
"/bin/sh and /bin/csh don't have arrow key functionality" (sur Sun).
Argh.

Donc, comment je peux faire ?

Autre question assez voisine, est-ce que j'ai un moyen de configurer ma
touche TAB pour qu'elle me fasse de la compl=E9tion ? L=E0 encore, sous
Linux ca marche avec autolist et complete, mais sous Sun, d'une part
complete n'existe pas, et d'autre part autolist n'a l'air de rien
faire.

Merci !
--=20
R=E9mi Moyen

6 réponses

1 2
Avatar
Stephane Chazelas
2006-05-23, 03:13(-07), :

J'ai accès à une machine Sun (SunOS 8.5) et mon shell est, euh, csh
ou tcsh


Vu ce que tu decris, tu as csh. Installes tcsh et ca ira mieux.


Oui, mais non. Je ne contrôle pas la machine, et il n'est de toute
facon pas question que j'ai un shell différent de celui des autres
utilisateurs. C'est pas que j'aimerais pas, hein, c'est juste que c'est
pas un aspect que j'ai la liberté de contrôler.
[...]


Si tu ne peux pas creer le moindre fichier sur cette machine,
alors tu ne peux pas en faire grand chose. Pourquoi ne pas
installer un vrai shell dans ton home directory ou dans
/var/tmp?

--
Stéphane



Avatar
Jean-Marc Bourguet
Stephane Chazelas writes:

2006-05-23, 03:13(-07), :

J'ai accès à une machine Sun (SunOS 8.5) et mon shell est, euh, csh
ou tcsh


Vu ce que tu decris, tu as csh. Installes tcsh et ca ira mieux.


Oui, mais non. Je ne contrôle pas la machine, et il n'est de toute
facon pas question que j'ai un shell différent de celui des autres
utilisateurs. C'est pas que j'aimerais pas, hein, c'est juste que c'est
pas un aspect que j'ai la liberté de contrôler.
[...]


Si tu ne peux pas creer le moindre fichier sur cette machine,
alors tu ne peux pas en faire grand chose. Pourquoi ne pas
installer un vrai shell dans ton home directory ou dans
/var/tmp?


La raison pour laquelle je conserve tcsh (en interactif, pour les
scripts c'est du ksh version Sun, shell le plus evolue que je suis sur
de trouver sur toutes les machines qui auront a les executer) au
boulot plutot que d'utiliser zsh comme a la maison, c'est que
l'environnement au boulot est pris en charge par quelqu'un d'autre.
Ce que m'apporterait un meilleur shell ne vaut pas la peine qu'il y
aurait a me maintenir mon environnement perso ou a essayer de le
convaincre que maintenir deux environnements ou a essayer de
convaincre tout le monde que quitter csh est une bonne idee.

Il y a des gens qui ont commence avec csh, n'ont jamais cherche autre
chose et ne voient pas d'interet pour eux a changer; leur utilisation
etant suffisemment peu sophistiquee, je ne suis pas sur qu'il y en
ait. Ceux qui ont des scripts a ecrire, finissent par se mettre a
perl apres s'etre battu avec csh plutot que de regarder d'autres
shells. Je ne suis pas sur que ce soit un mauvais choix.

A+

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org




Avatar
[SauronDeMordor]
Michel Talon wrote:
wrote:

J'ai accès à une machine Sun (SunOS 8.5) et mon shell est, euh, csh
ou tcsh
Vu ce que tu decris, tu as csh. Installes tcsh et ca ira mieux.

Oui, mais non. Je ne contrôle pas la machine, et il n'est de toute

facon pas question que j'ai un shell différent de celui des autres
utilisateurs. C'est pas que j'aimerais pas, hein, c'est juste que c'es t
pas un aspect que j'ai la liberté de contrôler.


Tu es bien conscient que le shell est un programme utilisateur que tu p eux
trés bien garder dans ton home et ne partager avec personne? Donc rie n
ne t'empêche d'utiliser un ksh compilé statique ou quelque chose du genre qui
a de la complétion et des touches d'histoire (avec set -o emacs ou se t -o vi).

oui sauf que sous solaris/sunsOS, avec ksh tu n as pas les fleches pour

cela il fait faire 4 alias

alias __A=<crtl>-P
alias __B=<crtl>-N
alias __C=<crtl>-F
alias __D=<crtl>-B

pour inserer les carracters de controle avec vi, il suffit en mode
edition de vaire control-V -control-P et cela inser le control-P




Avatar
Stephane Chazelas
On 24 May 2006 10:01:24 +0200, Jean-Marc Bourguet wrote:
[...]
La raison pour laquelle je conserve tcsh (en interactif, pour les
scripts c'est du ksh version Sun, shell le plus evolue que je suis sur
de trouver sur toutes les machines qui auront a les executer) au
boulot plutot que d'utiliser zsh comme a la maison, c'est que
l'environnement au boulot est pris en charge par quelqu'un d'autre.
Ce que m'apporterait un meilleur shell ne vaut pas la peine qu'il y
aurait a me maintenir mon environnement perso ou a essayer de le
convaincre que maintenir deux environnements ou a essayer de
convaincre tout le monde que quitter csh est une bonne idee.
[...]


Tu peux toujours garder csh comme login shell et redefinir
$SHELL dans ton .login (et l'executer si le shell de login est
interacif). L'environnement sera herité par ton nouveau shell.

Bon, evidemment, ca ne marchera pas pour les alias ou pour les
variables definies avec set au lieu de setenv par
l'administrateur.

A une epoque, j'utilisais un script perl qui convertissait avec
pas mal de success les .login en .profile.

Il y a des gens qui ont commence avec csh, n'ont jamais cherche autre
chose et ne voient pas d'interet pour eux a changer; leur utilisation
etant suffisemment peu sophistiquee, je ne suis pas sur qu'il y en
ait. Ceux qui ont des scripts a ecrire, finissent par se mettre a
perl apres s'etre battu avec csh plutot que de regarder d'autres
shells. Je ne suis pas sur que ce soit un mauvais choix.
[...]


Ce qui est un mauvais choix, c'est de continuer a utiliser csh
interactivement alors que depuis 1979 on a sorti des shells un
poil plus evolués, ergonomiques et conviviaux (comme tcsh ou
zsh) surtout quand on est administrateur. A part ca, on est
d'accord.

--
Stephane

Avatar
Harpo
Jean-Marc Bourguet wrote:



Il y a des gens qui ont commence avec csh, n'ont jamais cherche autre
chose et ne voient pas d'interet pour eux a changer; leur utilisation
etant suffisemment peu sophistiquee, je ne suis pas sur qu'il y en
ait. Ceux qui ont des scripts a ecrire, finissent par se mettre a
perl apres s'etre battu avec csh plutot que de regarder d'autres
shells. Je ne suis pas sur que ce soit un mauvais choix.


Pour les amateurs de litotes, je ne suis pas non plus sûr que Ruby soit
un mauvais choix.

--
En AVANT-PREMIERE : http://patrick.davalan.free.fr/ail/

Avatar
Jean-Marc Bourguet
Stephane Chazelas writes:

Tu peux toujours garder csh comme login shell


La j'ai vraiment pas le choix.

et redefinir $SHELL dans ton .login (et l'executer si le shell de
login est interacif). L'environnement sera herité par ton nouveau
shell.


C'est ce que j'utilise pour avoir tcsh a la place de csh.

Bon, evidemment, ca ne marchera pas pour les alias ou pour les
variables definies avec set au lieu de setenv par l'administrateur.


Voila... nous avons un alias qui sert beaucoup et qui execute un
programme generant du csh puis execute le csh genere...


--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org

1 2