Historia de la shell

Solo disponible en BuenasTareas
  • Páginas : 9 (2134 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de diciembre de 2011
Leer documento completo
Vista previa del texto
Historia de la shell
En los tiempos en los que Dennis Ritchie y Ken Thompson de AT&T diseñaban UNIX™, quisieron crear un medio para que las personas interactuaran con el sistema.
Los sistemas de entonces venían con intérpretes de comandos, que aceptaban comandos de los usuarios y los interpretaban para que los utilizara la máquina.
Pero Ritchie y Thompson querían más, algo que ofrecieramás que los intérpretes de comandos del momento. Así nació la Bourne shell (conocida como sh), creada por S.R. Bourne. Desde la creación de la shell de Bourne se han desarrollado otras shells, tales como la C shell (csh) y la Korn shell (ksh).
Cuando la Free Software Foundation buscaba una shell sin patentes, los desarrolladores empezaron a trabajar en el lenguaje de la Bourne shell y encaracterísticas de otras shells del momento.
El resultado fué la Bourne Again Shell o bash. Aunque su sistema Red Hat Linux tenga diferentes shells, bash es la shell predeterminada. Se puede aprender algo más sobrebash leyendo su página man bash (escriba man bash en el intérprete de comandos).

Una vez que empiece a ver directorios, es fácil perderse u olvidar el nombre de su directorio actual. Pordefecto, la shell para el sistema Linux Bash, muestra el directorio actual, en vez de todo el recorrido.

Figura 13-2. El comando pwd le muestra su ubicación
Para determinar la ubicación exacta de su directorio actual, vaya a un intérprete de comandos de la shell y escriba el siguiente comando: pwd.
Verá algo como lo siguiente:
/home/sam |
Este ejemplo le indica que está en eldirectorio sam, que está dentro de su escritorio principal /home.
El comando pwd viene de 'print working directory', (mostrar el directorio actual). Cuando usted escribe pwd, le está preguntando a su sistema Linux que le muestre su ubicación actual. Su sistema le responde imprimiendo la ruta completa del directorio actual en el intérprete de comandos, en el monitor. Esta impresión también seconoce como salida estándar de datos y se puede imprimir al shell o redirigirse a otros programas o a otros dispositivos de salida, tales como impresoras.
Usará pwd a menudo. Es muy útil cuando está navegando su sistema Red Hat Linux.

Programación shell
Ahora que sabemos manejarnos con el shell y conocemos unos pocos comandos, vamos a comenzar a hacer pequeños programas que interpretará elshell.
En esta parte necesitaremos un editor de texto plano, como pueden ser: vi, emacs, joe, mcedit, nano, kwrite, gedit, etc. Cualquiera de ellos vale, siempre que guardemos el texto como text/plain.
4.1. Mira mamá, soy un script!
Vamos a crear un fichero, script.sh, con el siguiente contenido:
#!/bin/shecho Mira mamá, soy un script! |
Intentamos ejecutarlo con ./script.sh y no funciona. Estoes porque la extensión sh no es lo que hace que sea ejecutable. Para que se pueda ejecutar tenemos que darle permisos de ejecución:
$ chmod +x script.sh |
Ahora sí es ejecutable.
El programa consta de dos lineas:
* Un comentario, desde la aparición de # hasta el final de esa linea, donde se indica al shell con la secuencia #!/bin/sh que /bin/sh es el programa que se debe usar paraejecutar este fichero.
* Un comando que muestra un texto en stdin. Es la primera linea "ejecutable", ya que los comentarios son ignorados por el intérprete.
4.2. Variables
Una variable es un contenedor. Consta de un identificador que la distingue de otra (su nombre) y de un contenido. La relación entre variable y contenido es de equivalencia.
Por lo general las variables en shell no tienen tiposasociados y se definen de la siguiente forma:
identificador = contenido Ejemplos: # i vale 1 i=1 # I vale echo I=echo # msg vale Hola mundo! msg="Hola mundo!" |
Cuidado: si dejamos espacios entre el = y el identificador o el valor el shell creerá que son comandos a ejecutar y no la asignación de una variable.
Para acceder al contenido de una variable...
tracking img