Por defecto, cuando hablamos de una shell en Linux, la mayoría de la gente piensa en Bash. Es cierto que es el más extendido y posiblemente uno de los shell más sencillos para empezar, pero también hay un montón de otros shells por ahí anhelando tu atención. Hoy, repasaremos otra shell muy famosa: la Korn Shell (“ksh” para los íntimos).
Historia
En su origen, la Korn Shell fue considerada como la alternativa comercial a la Bash Shell. Desarrollado en 1983 por David G. Korn para AT&T Bell, el Korn Shell se inspiró en la interactividad del shell C y la eficacia del Bourne Shell. Se actualizó en 1986, luego en1988, y finalmente se publicó como código abierto en 1993. Sin embargo, antes de eso, como el Korn Shell era un producto comercial, se creó una alternativa libre en 1987, llamada Public Domain Korn Shell. Este pdksh que todavía se puede utilizar hoy en día está basado principalmente en el ksh de 1998 y 1993. Desde la perspectiva actual, Bash y Korn son bastante similares y compatibles. De hecho, ambos descienden del mismo ancestro. Sin embargo la interacción es ligeramente diferente y algunas de las técnicas de scripting deben ser revisadas cuando se pasa de uno a otro.
Instalación
Ahora que sabes más sobre ksh, vamos a instalarlo. Para Ubuntu, la instalación es bastante simple:
sudoapt-get install ksh
Si estás usando otra distro, puedes consultar sus repositorios. En el peor de los casos, descarga el paquete desde la página oficial de descargas de AT&T.
Una vez instalado el paquete, puedes lanzar un Korn Shell desde cualquier terminal a través del comando
ksh
Si realmente te gusta este shell y quieres que sustituya al actual, puedes hacerlo escribiendo
sudo usermod -s/bin/ksh [nombre de usuario]
Uso
Como dije antes, el Korn Shell está cerca del Bash Shell. Pero antes de que intentes algo, tienes que saber que ksh puede imitar el comportamiento de tu editor de texto favorito. Esto es lo primero que hará que te guste o que odies Korn. Para ser más claro, puedes configurar tu shell para que tenga los mismos atajos y funciones que un editor de texto no gráfico de tu elección. Para ver una lista de qué editor está disponible en tu sistema, usa este comando de ksh:
set -o
Por mi parte, prefiero usar Vi. Por lo tanto, hice
set -o vi
A partir de ese momento, ksh se comportará de la misma manera que vi. Y por supuesto, para aquellos que lo saben todo sobre Emacs, hagan en su lugar
set -o emacs
Por el bien de este artículo, vamos a continuar con Vi. Ahora tienes acceso a todos los atajos y comandos que normalmente utilizas con Vi. Sólo recuerde usar antes la clásica tecla “Esc”. Por ejemplo,
- Puedes borrar una línea con “dd”
- Saltar a la siguiente palabra con “e”
- Pegar con “p”
- Borrar un carácter con “x”
- Etc
Vamos a la parte interesante, el autocompletado y la ayuda interactiva.
Con Bash, puedes autocompletar un comando pulsando dos veces la tecla de tabulación. Esto no funcionará en todas las situaciones con ksh. En su lugar, si configuras Vi, puedes hacer “Esc + “. Si tienes Emacs