TAB auto-complétion dans Bourne Shell

Je ne sais pas comment get la touche TAB pour autocomplete les noms de files, les commands, ou quoi que ce soit du tout.

Je suis sur un système de type Unix (OS / 390) et dépend de plusieurs scripts qui fonctionnent dans sh (Bourne shell, pas BASH), mais pas dans d'autres shells (tcsh, par exemple), donc je ne peux pas changer de shells . Je me connecte habituellement à ce système via ssh ou telnet à partir du terminal GNOME d'Ubuntu exécutant bash localement. D'autres personnes se connectent au système OS / 390 via telnet à partir de l'invite de command de Windows XP et elles peuvent se remplir automatiquement avec la touche TAB après avoir lancé "set -o emacs". Lorsque j'émets "set -o emacs", j'obtiens certaines des fonctionnalités appropriées (par exemple ctrl-p pour reculer dans l'historique), mais pas la saisie semi-automatique.

Je suis conscient de l'option "set -o vi", mais en utilisant "ESC- *", etc ne me plaît pas parce que je sais que la simple touche TAB fonctionne pour d'autres personnes.

Y a-t-il quelque chose sur Ubuntu, le terminal GNOME, bash ou ssh qui envoie un autre caractère de tabulation qu'une invite de command Windows XP exécutant telnet?

Est-ce que quelqu'un a une idée de pourquoi je pourrais ne pas être capable de se mettre à l'autocomplete tandis que des personnes sur la même machine distante, exécutant le même shell, peuvent?

Que faut-il faire pour activer l' auto-complétion de l'onglet ?

    (Pas de réponse à votre question exacte, mais de nombreuses solutions de contournement.)

    Vous n'avez pas besoin de faire correspondre votre shell avec votre shell interactif. (Par exemple, la plupart des users (t) csh ou zsh écrivent des scripts sh). Si vous avez ou pouvez installer un meilleur shell interactif que le shell Bourne (zsh, bash, tcsh), allez-y. Même si vous ne le pouvez pas, regardez s'il y a un ksh, qui est susceptible d'avoir des fonctionnalités interactives légèrement meilleures qu'un shell Bourne.

    Vous pouvez vérifier quel caractère la touche de tabulation envoie en entrant echo ' Ctrl + V Tab ' | od -t x1 ' | od -t x1 Entrée . 0000000 09 0a (c'est-à-dire à la position 0, deux caractères, un onglet et une nouvelle ligne) est la sortie attendue. Je ne m'attends pas à ce que ce soit le problème.

    Si vous ne pouvez pas get un environnement confortable, vous pouvez essayer de faire plus de choses à distance, en utilisant votre machine locale pour l'interaction autant que possible. Cela a ses hauts et ses bas.

    • A partir de Linux (ou de la plupart des autres OSIX, mais pas de Windows), vous pouvez utiliser sshfs pour accéder au système de files distant.
    • Dans Emacs, vous pouvez facilement parcourir les files distants via Tramp (ouvrir /os390hostname:/path/on/remote/machine , vous obtenez l'achèvement). Vous pouvez également utiliser Eshell pour get une interface shell distante (un shell embedded Emacs); si vous accédez à un directory distant ( cd /os390hostname:/path/on/remote/machine ), les commands externes que vous lancez seront exécutées sur la machine distante. Si vous avez besoin d'exécuter des commands en tant que root, Tramp (et Eshell qui est basé dessus) peuvent combiner ssh avec su ou sudo .

    Lorsque vous êtes en mesure d'émettre set -o emacs et que vous n'obtenez pas de message d'erreur, vous n'utiliserez probablement pas le bourne shell mais un dérivé ksh.

    Le shell Korn effectue l'auto-complétion avec ESC, l'avez-vous essayé?

    BTW: si vous aimez vraiment utiliser un Bourne Shell avec un éditeur d'historique et une complétion de nom de file, vous pouvez essayer mon Bourne Shell portable dans:

    http://sourceforge.net/projects/schilytools/files/

    Comme il s'agit d'un Bourne Shell converti de sbrk () en malloc (), il fonctionne sur des environnements non-UNIX.

    Il peut encore y avoir quelques problèmes avec le portage:

    • Si votre environnement OS / 390 utilise EBCDIC, les files ctype * nécessitent un certain travail.

    • Si votre environnement ne supporte ni fork (), ni une émulation vfork () de type OpenVMS, il peut être impossible de la comstackr et de l'exécuter sans quelques jours d'efforts.

    Voir http://schillix.sourceforge.net/man/man1/bosh.1.html pour une vérification rapide des fonctionnalités.