Trabajo digital.

185 visualizaciones

Publicado el

Comandos especificos del bash y shell scripts con bash

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
185
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Trabajo digital.

  1. 1. Comandos específicos del bashUn mecanismo muy útil es el de ejecutar procesos en lo que se llama modobackground este modo indica sencillamente que el proceso se está ejecutando, peroque el Shell nos devuelve la línea de comandos para poder seguir ejecutando otrosprogramas. Para indicarle esto al bash, debemos escribir el carácter “&” después delcomando o programa que vamos a ejecutar. Una vez se ha lanzado el proceso enmodo background, se muestra una línea donde se nos indica el número de trabajo yPID del proceso lanzado.Con el comando Jobs podemos ver qué procesos están lanzados en modobackground(Pasando el parámetro “–l” también podremos ver su PID). Si quisiéramos pasaruno de estos procesos a modo foreground (como si lo hubiéramos lanzado desde lalínea de comandos sin el carácter “&”), podemos utilizar el comando fg indicando elPID del proceso. También existe bg, que nos envía un determinado proceso a modobackgroundEste último es útil cuando, por ejemplo, ejecutamos un programa en modoforeground y lo pausamos con CTRL+Z. Si después ejecutamos bg indicándole suPID, el proceso continuará su ejecución en modo background
  2. 2. Los procesos también tienen una jerarquía de padres a hijos. Cuando ejecutamosalgún programa en modo background no estamos interfiriendo en esta jerarquía, demodo que si salimos de la sesión, todos estos procesos se acabará porque el padre (elintérprete de comandos desde donde los hemos lanzado) ya no estaría en ejecución.Si queremos desvincular un proceso de su padre podemos utilizar disown.Otro mecanismo muy útil del bash es la historia de comandos. Es normal queutilizando el sistema debamos repetir muchas instrucciones escritas anteriormente.Con las teclas del cursor arriba y abajo podemos ir viendo todos los comandos quehemos ido utilizando y repetir alguno apretando RETURN.También podemos utilizar History, conel cual se mostrarán por pantalla todos loscomandos ejecutados, enumerados según su aparición. Escribiendo “! NUM” seejecutará el que se corresponda con esta historia. También podemos escribir “!”seguido de las letras iniciales de algún programa ejecutado anteriormente y elprograma buscará el más reciente para ejecutarlo.
  3. 3. El bash dispone, asimismo, de teclas de acceso rápido que nos permiten ejecutarciertas acciones sin ni siquiera escribirlas. Algunas de las más frecuentes son:• TAB: no es necesario escribir el nombre de un fichero, directorio o comandoenteramente. Si escribimos los primeros caracteres y después apretamos la tecla deltabulador nos acabará de escribir el resto. Si hubiera más de una coincidencia nosmostraría las diferentes posibilidades.• CTRL+L: limpia la pantalla (igual que el comando clear)• SHIFT+REPÁG: enseña media pantalla anterior.• SHIFT+AVPÁG: enseña media pantalla posterior.• CTRL+W: elimina la última palabra escrita.• CTRL+T: intercambia el orden de los últimos caracteres.• CTRL+U: borra todos los caracteres anteriores al cursor.• CTRL+D: sale del intérprete de comandos (equivalente a hacer un logout).• Ulimit es un comando que nos permite configurar algunos delos aspectos internosrelacionados con el bash. Por ejemplo, permite indicar la cantidad de memoria quepuede utilizar el intérprete de comandos, el número máximo de archivos que sepueden abrir, etc. Este comando puede servirnos para restringir un poco las accionesque pueden hacer los usuarios de nuestro sistema (en caso de administrar servidorescon muchos usuarios).
  4. 4. Shell scripts con bashLos shell scripts son ficheros donde escribimos una serie de comandos para quesean ejecutados. Aunque su sintaxis puede llegar a ser muy compleja y tendríamosque entrar en aspectos de programación para entenderla claramente.Como en todo lenguaje de programación, podemos utilizar variables, estructurascondicionales y bucles. Para declarar una variable utilizaremos la siguiente sintaxis:(Nombre Variable=contenido)Si el contenido es una cadena de caracteres, debemos ponerlo entrecomillas, si es unnúmero, no hace falta poner nada y si queremos guardar en la variable la salida deun comando, deberíamos ponerlo entre caracteres. Para referirnos al contenido dela variable en otras instrucciones, siempre debemos preceder al nombre conel carácter“$”. Para las instrucciones condicionales podemos utilizar las siguientesestructuras:(If condición; then instrucciones else instrucciones fi)
  5. 5. donde condición puede hacer referencia a un archivo, realizar alguna operación decomparación aritmética (entre caracteres “(())”), etc. De especial utilidad esel comando test, que nos permite hacer comprobaciones dearchivos, directorios, etc. y nos devuelve un booleano. De este modo, porejemplo, si quisiéramos realizar una acción u otra según si existiera undeterminado archivo, podríamos utilizar la siguiente estructura:If test -f /etc/inittab; then echo“El fichero inittab existe.”elseecho “El fichero inittab NO existe.”fi
  6. 6. Otra estructura condicional es la de selección:Si no se encontrara ninguna, se pasaría a la sección“*)”, que es opcional.Esta estructura es muy buena cuando, por ejemplo, queramos queun determinado script haga unas acciones u otras según el parámetro quele pasemos. Los parámetros los podemos referenciar a partir de “$1” para elprimero, “$2” para el segundo y consecutivamente. Para los bucles podemosutilizar alguna de las siguientes estructuras:#BUCLE TIPO FOR for i in lista; do instrucciones done#BUCLE TIPO WHILE while condición; do instrucciones doneNaturalmente, antes de poder ejecutar un Shell script debemos dar el permisode ejecución al fichero correspondiente (comando chmod750 nombre Fichero).

×