Share to: share facebook share twitter share wa share telegram print page

 

Shell de Unix

Pantalla durante una sesión muestra GNU Bash, tomada en Gentoo Linux.

Una shell de Unix es el término usado en informática para referirse al intérprete de comandos de los sistemas operativos basados en Unix y similares, como GNU/Linux, y que es su interfaz de usuario tradicional. Mediante las instrucciones que aporta el intérprete, el usuario puede comunicarse con el núcleo y por extensión, ejecutar dichas órdenes, así como herramientas que le permiten controlar el funcionamiento de la computadora. Por ello, en inglés se le denominó así, shell, que puede ser traducido como «cáscara», porque es la envoltura visible del sistema informático.

Los comandos que aportan los intérpretes, pueden usarse a modo de guion si se escriben en ficheros ejecutables denominados shell-scripts, de este modo, cuando el usuario necesita hacer uso de varios comandos o combinados de comandos con herramientas, escribe en un fichero de texto, marcado como ejecutable, las operaciones que posteriormente, línea por línea, el intérprete traducirá al núcleo para que las realice. Sin ser un script de shell estrictamente un lenguaje de programación, al proceso de crear scripts de shell se le denomina programación shell o en inglés, shell programming o shell scripting.

En el sentido más genérico del término, shell significa cualquier intérprete que los usuarios usen para escribir comandos. Su etimología proviene del uso natural de consolas en computadores funcionando bajo unix antaño, cuando los usuarios conectaban al computador central, lo hacían mediante consolas, (shells) por las cuales a través de un intérprete, hacían inicio de sesión y manejaban la computadora principal. Posteriormente, con la proliferación de los computadores personales y su filosofía monousuario, un computador por usuario (entiéndase lo contrario de la filosofía inicial de Unix, un computador, muchos usuarios conectados por terminales), se desarrolló un software que emulase las características principales de las consolas físicas, a modo de poder seguir usándolas como clientes en un computador o núcleo que comprendiera la convención estándar usada para configurar y llevar a cabo tareas de administración de emergencia con servidores basados en Unix.

Los usuarios de Unix y similares, pueden elegir entre distintos shells (programa que se debería ejecutar cuando inician la sesión, véase GNU bash, ash, csh, Zsh, ksh, tcsh). Las interfaces de usuario gráficas para Unix, como son GNOME, KDE y Xfce pueden ser llamadas shells visuales o shells gráficas. Por sí mismo, el término shell es asociado usualmente con la línea de comandos. En Unix, cualquier programa puede ser un shell de usuario. Los usuarios que desean utilizar una sintaxis diferente para redactar comandos, pueden especificar un intérprete diferente como su shell de usuario.

El término shell también hace referencia a un programa particular, tal como el Bourne shell, sh. El Bourne shell fue el shell usado en las primeras versiones de Unix y se convirtió en un estándar de facto; todos los sistemas similares a Unix tienen al menos un shell compatible con el Bourne shell. El programa Bourne shell se encuentra dentro de la jerarquía de archivos de Unix en /bin/sh. En algunos sistemas, tal como BSD, /bin/sh es un Bourne shell o un equivalente, pero en otros sistemas como muchas distribuciones de Linux, /bin/sh es un enlace simbólico a un shell compatible con más características (como Bash). POSIX especifica su shell estándar como un subconjunto estricto del Korn shell.

Categorías de shell

Pueden dividirse en cuatro categorías: tipo Bourne, tipo consola C, no tradicional e histórica.

Compatibles con Bourne shell

Compatibles con la shell de C

Otros o exóticos

  • fish, una shell amigable e interactiva, lanzada por primera vez en 2005.
  • mudsh, una shell inteligente al estilo de los videojuegos que opera como un MUD.
  • zoidberg, una shell modular escrita en Perl, configurada y de operación completamente en Perl.
  • rc, el shell por defecto de Plan 9 from Bell Labs y Version 10 de Unix escrita por Tom Duff. Se han hecho ports para Inferno y para sistemas operativos basados en Unix.
  • es shell (es), una shell compatible con RC escrita a mediados de los 90.
  • scsh (Scheme Shell)

Archivos de configuración para shells

Un shell lee archivos de configuración en múltiples circunstancias bajo diferentes dependencias de la shell. Esta tabla muestra los archivos de configuración de las shells más populares:

sh ksh csh tcsh bash zsh
/etc/.login no no login login no no
/etc/csh.cshrc no no no no no
/etc/csh.login no no no login no
~/.tcshrc no no no no no
~/.cshrc no no no no
~/.login no no login login no no
~/.logout no no login login no no
/etc/profile login login no no i.login no
~/.profile login login no no login no
~/.bash_profile login no no no login no
~/.bash_login no no no no login no
~/.bashrc no no no no n/login no
/etc/zshenv no no no no no
/etc/zprofile no no no no no login
/etc/zshrc no no no no no int.
/etc/zlogin no no no no no login
/etc/zlogout no no no no no login
~/.zshenv no no no no no
~/.zprofile no no no no no login
~/.zshrc no no no no no int.
~/.zlogin no no no no no login
~/.zlogout no no no no no login

Explicación:

  • "no" significa que la shell no leerá el archivo en absoluto.
  • "sí" significa que el archivo es siempre leído por el shell.
  • "login" significa que el archivo es leído si la shell es una shell de sesión (loging shell).
  • "n/login" significa que el archivo es leído si la shell no es una shell de sesión.
  • "int." significa que un archivo es leído si es un shell interactivo.
  • "i.login" significa que un archivo es leído si la shell es de sesión interactiva.

Histórico

Shells no Unix

Dentro del conjunto de sistemas operativos Microsoft Windows, el análogo son los programas command.com, o cmd.exe para sistemas operativos basados en Windows NT, y Windows PowerShell introducido con Windows Server 2008.

Véase también

Bibliografía

  • Ellie Quigley (2001). «Introduction to UNIX shells». Unix Shells by Example. Prentice Hall PTR. ISBN 0-13-066538-X.  — Historia de varios shells, los usos y las responsabilidades de una shell en Unix.

Enlaces externos

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9