Por "completación" ("completion") entendemos la funcionalidad del shell de "completar" las palabras que se teclean de forma interactiva; así por ejemplo, si comenzamos a escribir
cd /usr/loel shell puede automáticamente completarlo a
cd /usr/local
Cada shell incluye diferentes opciones de "completación", siendo lo más habitual el uso de la tecla "tabulador" para activarlo.
Para más detalles se recomienda consultar las páginas de manual de cada shell utilizado, no obstante, aquí incluimos algunos detalles resumidos. (Respondiendo así a la pregunta frecuente: "¿Cómo puedo hacer que funcione el completado con tabulador en hendrix?")
En hendrix, las cuentas por defecto están configuradas con el shell "ksh" (por ser el estándar de Solaris). Es posible elegir otro shell utilizando el interfaz web de cambio de shell.
ksh tiene "completación", pero tradicionalmente se dispara con las teclas "ESC-\", no con "TAB". Veamos lo que dice el FAQ de ksh:
Q6. Does ksh support file name completion? A6. Yes, it does. The default key binding is <ESC><ESC> however, starting with the 'g' point release, <TAB> also works for completion. Note, the vi users need to set -o viraw in order to get <TAB> completion to work. Q7. Does ksh support command completion? A7. If you perform completion on the first word of a command, ksh will do completion using aliases, functions, and commands. Q8. Is completion programmable? A8. Yes, using the key binding mechanism, you can script the behavior of any key and therefore cause the current contents of any line to be replaced by any other line.Nota: Lo de <ESC><ESC> funciona solo en modo "set -o emacs"; por defecto todas las cuentas del DIIS estan en modo "set -o vi".
Ahora bien, todo esto depende de la configuración y de las versiones de ksh disponibles.
Así pues, tenemos:
$ ls D<TAB><TAB> 1) Desktop/ 2) Documents/ 3) Download/ $ ls D<2><TAB> Adobe desktop.ini
Si se está acostumbrado a la forma de trabajar de "bash", lo recomendado es cambiarse el shell a "bash" como se ha explicado antes.
Last Modified: December 22, 2010