GNU/Linux Unix

¿Qué es el Korn Shell de UNIX / Linux?

El Korn Shell es una aplicación creada para interpretar los comandos escritos en una interfaz, concretamente en aplicaciones para Sistemas Operativos GNU / Linux.

Acerca del Korn Shell

El Shell Korn también recibe el nombre abreviado de ksh y su nombre se debe al de su creador, David Korn, que desarrolló Korn en los Laboratorios Bell. En su evolución, ha pasado a utilizarse también como lenguaje de programación y es compatible con casi todas las funcionalidades del Bourne Shell.

El Korn Shell dispone de funcionalidades interactivas al igual que lenguajes como C, pero se ejecuta más rápido y además dispone de funciones de edición de comandos más avanzadas. Actualmente van por la versión KSH93, que soporta arrays asociativos y operaciones aritméticas de coma flotante.

Funcionalidades del Korn Shell

Estas son algunas de las funcionalidades que se incluyen:

  • Edición de línea de comandos
  • Autocompletado de nombres de archivo
  • Historial de comandos
  • Alias de comandos
  • Shells restringidos
  • Gestión de tareas

Los scripts de Korn Shell

Todos los scripts para Korn Shell comienzan con esta línea:

  #!/usr/bin/ksh

A ésto también se le denomina shebang, hash-bangsharpbang o hashpling. Vamos a ver el siguiente ejemplo de script de Shell KSH:

#!/usr/bin/ksh
 echo "Hello World!"

Podemos encontrar la ruta de ksh mediante el siguiente comando:

$ which ksh

Y aquí tenemos un ejemplo de salida del comando anterior en el que se nos dice la ruta del comando ksh:

/usr/bin/ksh

Los shebangs o hash-bangs especifican rutas relativas a los ficheros ejecutables del sistema. Esto puede causar algunos problemas en sistemas operativos que no siguen nomenclaturas o rutas estándar para sus funciones. Incluso cuando los sistemas se ajustan a los estándares, siempre pueden existir variaciones en la localización del intérprete dependiendo del sistema o de la distribución. Es algo que podemos solucionar utilizando un script portable con #!/usr/bin/env como shebang.

EduZRO

Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

No Comments

comment No comments yet

You can be first to leave a comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *