nano script.sh
chmod +x script.sh
Necesario para crear un script (ponerlo al principio del archivo):
#!/bin/bash
Al ejecutar un archivo se le puede pasar argumentos:
script.sh arg1 arg2 ...
Dentro de un archivo, para hacer referencia a estos argumentos:
$num: Llamar un argumento en "num" del órgen 1 al máximo de 9.
$0: Devuelve el nombre del script / función.
$*: Devuelve a todos los argumentos separados por espacio.
$#: Devuelve el n. total de parámetros que se pasaron.
Imprimir un texto en pantalla:
echo 'texto'
Pedir un texto y guardarlo en la variable nombre_var:
read -p 'texto' nombre_var
Esperar cierto tiempo antes de hacer una acción:
sleep <Segundos>
Todo lo que esté dentro de " " se interpreta como variables y texto. En cambio en ' ' se interpresa todo como texto.
echo "$nombre_var"
Para texto:
|
Igual a /// == hace lo mismo pero permitiendo comodines |
|
No igual a |
|
Menor que |
|
Mayor que |
|
No es nulo |
|
Es nulo |
Para números:
|
Igual a |
|
No igual a |
|
Menor que |
|
Mayor que |
|
Menor o igual que |
|
Mayor o igual que |
Para archivos y carpetas:
|
Si existe un archivo o carpeta /// O se puede hacer con el comando test |
|
Si tiene permisos de lectura /// Puede ser -w, -x |
Formato:
if [ condición1 ]; then
// Qué hacer si se cumple la condición 1
elif [ condición2 ]; then
// Qué hacer si se cumple la condición 2
else
// Qué hacer si no se cumple ninguna condición
fi
Siempre acaba en fi para así indicar el final de la condicional.
Si se cumplen ambas condiciones:
if [ condición1 ] && [ condición2 ]; then
// Contenido
fi
Una condición u la otra:
if [ condición1 ] || [ condición2 ]; then
// Contenido
fi
Si no se cumple la condición:
if ! [ condición1 ]; then
// Contenido
fi
Para ejecutar varias acciones, dependiendo del valor de una variable:
read -p 'texto' var
case $var in
1)
echo 'El valor es 1'
;;
rojo)
echo 'El valor es rojo'
;;
*)
echo 'Este valor no estaba en nigún _)'
;;
esac
Formato para recorrer un conjunto de valores hasta llegar al final:
for nombre_var in conjunto; do
// Contenido
done
Ejemplo:
for i in 1 2 3 4 5; do
echo "$i"
done
Ejecuta su contenido si la condición es verdadero in definidamente hasta que se pare:
while [ condición ]; do
// Contenido
done
Lo mismo que WHILE:
until [ condición ]; do
// Contenido
done