¿Se puede configurar ksh en AIX para usar la tecla de tabulación para completar el nombre de archivo?

8

Tengo algunos servidores AIX 7 que están restringidos a qué software puedo instalar y me pregunto si puedo kshusar la tecla de tabulación para completar los nombres de archivo en la promoción de shell.

Las páginas de manual son escasas para ksh y no veo ninguna pregunta relevante aquí que cubra este terreno. Debido a que la mayoría de los usuarios usan ksh, dudo en cambiar mi shell a bash, pero supongo que es una solución fácil.

Inicié sesión inicialmente desde una PC usando putty / ssh y trabajo principalmente desde xterm una vez que el reenvío X11 devuelve el tráfico a Hummingbird Exceed en la PC.

¿Puede / usr / bin / ksh que se incluye con bos.rte.shellAIX 7.1 configurarse para activar la finalización del nombre de archivo (que normalmente se activa presionando ESC + \) presionando la tecla TAB?

bmike
fuente
¿Qué dice 'echo $ TERM'?
schaiba
@schaiba: Gracias por entender mi fraseo incompleto de la pregunta. Mi $ TERM es xterm ya sea que haya iniciado sesión en putty / ssh o haya generado xterms ...
bmike
Incluya el valor de $ {. Sh.version} en su pregunta. Doble TAB para completar el nombre de archivo se agregó relativamente tarde.
Henk Langeveld
@HenkLangeveld Me sale un error de "mala sustitución" cuando intento hacer eco de $ {. Sh.version} - La versión de box.rte.shelles 7.1.1.16
bmike

Respuestas:

3

Ver si /usr/bin/ksh93está disponible:

ksh93 --version

Si dice

version         sh (AT&T Research)

luego use eso como su shell interactivo. Tendrá la $ {. Sh.version} y debería tener la expansión TAB.

Henk Langeveld
fuente
Esto probablemente terminará siendo la respuesta a menos que haya una manera obvia de enseñar los viejos kshtrucos nuevos. Parece /usr/bin/kshque intencionalmente no se actualiza con características y el segundo binario tiene características más recientes compiladas. Dado que parece funcionar de forma inmediata, presionar tab funciona como se espera ahora con poco riesgo de que otros scripts fallen en una diferencia entre ksh y ksh93.
bmike
1
En realidad, IBM probablemente siguió el concepto de cambiar los nombres al cambiar las interfaces, a diferencia de lo que hizo Sun cuando actualizaron ksh a ksh93 en Solaris (abierto).
Henk Langeveld
4

Supongo que tu caparazón está en modo vi. No estoy seguro de que esto funcione, ya que mi conocimiento de AIX es limitado, pero puede intentar agregar esto a su perfil:

set -o emacs
bind "^I=complete"

Google dice que ksh en AIX está un poco lisiado desde este punto de vista, por lo que quizás bash sería una mejor apuesta.

schaiba
fuente
Esto tampoco funciona en la versión ksh que he instalado. Prefiero los vienlaces, pero cambié a emacs para ver si esto permitiría que la tecla tab funcionara como se esperaba.
bmike
me falta el enlace en AIX 7.1
Bryce Guinta
3

Hay una alternativa para esta pregunta.

Primero configure el modo vi para ksh:

$ set -o vi

Después, puede usar la Tabclave de esta manera. Ejemplo: desea completar la siguiente ruta:

$ cd /usr/local/s

Escriba la Tabtecla dos veces y verá esto:

$ cd /usr/local/s
1) sbin/
2) share/
3) src/

Suponiendo que desea la opción 2( /usr/local/share/carpeta), escriba 2 Tab( 2tecla seguida de la Tabtecla). Y verás esto:

$ cd /usr/local/share/ 
Lujus
fuente