Bash

Imagen/borrador-avatar.png

Esta sección es un esbozo en construcción. Se aprecian tus aportes y paciencia ;)

Esta pagina se hace con el fin de ayudar al principiante en el manejo de sistemas operativos basados en linux a través del bash que es una herramienta poderosa para la administración de las diferentes aplicaciones de linux.

Separación de Palabras (Word Splitting)

Todos nos hemos enfrentado alguna vez en bash a una situación en la que necesitamos procesar un archivo o una variable que contenga espacios en sus valores, p.e.

Hola Mundo
Hello World

Si suponemos que esas dos líneas son el contenido de un archivo texto.txt y queremos mostrar las dos líneas seguramente haríamos un script como:

for linea in (cat texto.tx)
do
   echo $linea
done

Pero en lugar de mostrarnos las líneas como las escribimos obtendríamos:

Hola
Mundo
Hello
World

Para superar este problema, que en realidad es una característica de bash denominada Word Splitting y permite utilizar un caracter como delimitador (controlado por el valor de la variable $IFS), por defecto estos caracteres son " " (espacio), \t (tabulador) y \n (retorno de carro), pero esto se puede modificar cambiando el valor de esta variable, por ejemplo si modificamos el valor de esta variable en nuestro script

$IFS=H
for linea in (cat texto.tx)
do
   echo $linea
done

Obtendremos:

H
ola Mundo
H
ello World

Por lo tanto si queremos mostrar el listado como aparece en el archivo utilizamos un caracter que no tenga relación o que no se utilice en el archivo, p.e.:

$IFS=*
for linea in (cat texto.tx)
do
   echo $linea
done

De esta manera nuestro script ahora si mostrará el listado como lo necesitabamos.

Lista de comandos

Bash Completion

Este es un fichero script ubicado en /etc/bash_completion que nos sirve dentro del sistema para autocompletar comandos con la tecla TAB. Por ejemplo, si hemos escrito así el comando apt:

$ apt-

Y luego oprimimos la tecla TAB 2 veces, nos aparecen las siguientes opciones de comandos:

apt-cache    apt-config            apt-ftparchive     apt-key
apt-cdrom    apt-extracttemplates  apt-get            apt-sortpkgs

Entonces para hacer correr dicho fichero script es necesario que en cualquier cuenta de usuario en su fichero, por ejemplo en /home/usuario/.bashrc agregamos la siguiente linea:

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

Luego podríamos ejecutar el interprete así:

$ bash
$

Y de esta manera tendríamos corriendo el script.

Personalizar los atajos de teclado

Para personalizar los atajos de teclado en Bash usted debe hacer modificaciones en el archivo de configuración inputrc, mas información sobre el tema la puede encontrar en nuestra pagina al respecto inputrc

Proceso de Señales

ps −ef | grep procesoatorado
kill -9 PIDdelproceso

man -k signal
kill -l
man 7 signal (listado de señales disponibles)

Ctrl+C : Es la señal de interrupción, envía un SIGINT (interrupción desde el teclado hacia el trabajo corriendo)

Ctrl+Y : Causa que un proceso se pare cuando intenta leer una entrada desde la terminal. El control retorna a la shell.

Ctrl+Z : Esta es a señal de suspensión, envía un SIGTSTOP a un programa que esta corriendo y con esto lo detiene y devuelve el control a la shell

Trampas

Puede haber situaciones en las cuales no se quiera que los usuarios de los scripts salgan usando una señal de terminación desde el teclado , por ejemplo debido a que alguna entrada debe ser dada por el usuario o por que alguna limpieza se debe hacer. la sintaxis de trampa o trap es la siguiente:

Scripting Basico

echo Hola Mundo

tar -cZf /var/mibackup.tgz /home/mi/

Paginas Relacionadas


CategoryRecetas | CategoryBorrador

Bash (last edited 2008-07-08 15:22:42 by wilfred_com)