Resumen script
Estas son elaboradas por defecto por el propio Bash y son:
$0 -> Nombre del guión
$1....$n -> Variables que almacenan los n argumentos (opciones)
proporcionados al comando.
$# -> Variable que contiene el total de los argumentos proporcionados.
$* -> Conjunto de los argumentos.
$? -> Valor de ejecución del comando anterior, si es cero esque el
comando anterior se ejecutó sin errores, de lo contrario hubo algún error.
$$ -> Identifica el proceso del guión.
$! -> Identifica el último proceso arrancado en el trasfondo (background).
Para que Ubuntu reconozca algunos comandos hay que ejecutar:
./ejemplo.sh
ejecutando: sh ejemplo.sh
por ejemplo el comando let no lo reconoce, ni function
/bin/sh suele ser un enlace a unshell.
Por ejemplo, en debian /bin/sh es un enlace a /bin/dash. Por eso, no funciona
cuando lo ejecutas con: sh script.sh
y sí cuando le das permisos de ejecución y lo ejecutas con: ./script.sh
Comprueba cuál es tu shell, consultando la variable $SHELL:
echo $SHELL
En Debian el shell por defecto es bash, que sí tiene let.
También funcionará sin problemas si lo ejecutas así: bash script.sh2. Variables creadas.
Crear una variable:
nombre_variable=valor_variable
Asignar un valor a una variable:
nombre_variable=valor_variable
Usar el valor de una variable:
SALUDO=Bienvenido
echo $SALUDO
Una variable también puede ser la salida de un comando si ponemos al
principio y final del mismo un acento invertido.
SALIDA=`comando`
Le indicará al sistema que donde se escriba $SALIDAdebe poner la salida de
ese comando. Es práctica común utilizar mayúsculas para las variables a fin de
identificarlas fácilmente dentro del guión.
Cuando se ejecutan Scripts que pueden ser "hijos" de otro guión en ocasiones
es necesario exportar las variables, esto se hace escribiendo:
export nombre_variable
3. Caracteres especiales.
También llamados meta caracteres.
Tienensignificado propio para Bash. Algunos son:
\ -> Le indica a Bash que ignore el carácter especial que viene después.
" " -> Cuando se encierra entre comillas dobles un texto o una variables
si esta es una frase (cadena de palabras) Bash lo interpretará como una
cadena única.
$ -> Identifica que lo que le sigue es una variable.
' ' -> Las comillas simples (apóstrofes) se usan paradesactivar todos
los caracteres especiales encerrados dentro de ellas, así tenemos que si
escribe '$VARIABLE' Bash interpreta literalmente lo escrito y no como variable.
# -> Comentar una línea.
; -> Este carácter se usa para separar la ejecución de distintos
comandos en una misma línea de comandos.
`` -> Se utiliza para convertir la salida de un comando en una variable. El
comando encuestión se ejecuta en una sub shell.
~ El directorio home del usuario.
. Un punto en el entorno de la shell es "el directorio donde estamos"
También están |, (), !, >, Se sale del guión
break -> Se manda explícitamente a salir de un ciclo
continue -> Se manda explícitamente a retornar en un ciclo
return -> Como exit pero solo se sale del comando u operación sin
cerrar el guión
true -> Indica que una condición es verdadera
false -> Indica que una condición es falsa
5. Argumentos propios de Bash.
Argumentos propios de la elaboración de Scripts en los condicionales
vinculados a la determinación de elementos sobre los archivos,
variables, cadenas de palabras o cadenas de pruebas, los más comunes
son:
1. Argumentos de Archivos -----> Cierto si.... (salida 0)-d --------------------------------> Archivo existe y es un directorio
-c --------------------------------> Archivo existe y es de caracteres
-e --------------------------------> Archivo existe
-h --------------------------------> Archivo existe y es un vínculo simbólico
-s --------------------------------> Archivo existe y no está vacío
-f ---------------------------------> Archivo existe...
Regístrate para leer el documento completo.