Crear varios directorios a la vez
mkdir -p /opt/folder1/folder2/folder3
Copiar el rsa key del host1 al host2 para no proporcionar la passwor del "usuario" cada vez que se realiza una conexion ssh del host1 al host2
[user@hots1]$ ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@host2
Generar el id_rsa.pub
ssh_keygen
Editor VI
:set number -> muestra el numero de linea en el editor
-------------
:set fileformat=unix
:set fileformat=dos
Aplica el formato unix o dos al fichero actualmente abierto, muy util cuando se muestra el error
Not found #!/bin/bash^M
----------
:set list
Muestra los caracters ocultos en el archivo abierto
BASH
Ejemplo de for 1:
Los espacion son IMPORTANTES.
actions=(opcion1 opcion2 opcion3)
for item in ${actions[@]}; do
echo "Action: ${item}"
done
Ejemplo for 2:
for (( a=1; a < 80; a++ )); do
echo "Iteration ${a}"
done
IF
Igualar cadenas:Los espacios son IMPORTANTES_APP=opcion5
if [[ $_APP = "opcion1" ]]
then
echo "opcion 1"
elif [[ $_APP = "opcion2" ]]
then
echo "opcion 2"
else
echo "No es ninguna opcion"
fi
Doble condicion:
$var
if [[ $var = *"value1"* || $var = *"value2"* ]]
then
echo "var contiene value1 o value2 "
fi
Existe el directorio:
if [ -d /path/dir1/dir2 ]
then
echo "Directorio existe"
else
echo "Directorio NO existe"
fi
Fichero existe:
if [ -f /path/dir1/dir2 ]
then
echo "Fichero existe"
else
echo "Fichero NO existe"
fi
Ejemplo case :
typeVar=Z
case $typeVar in
A)
echo "opcion A"
;;
B)
echo "opcion B"
;;
C)
echo "opcion C"
;;
D)
echo "opcion D"
;;
*)
echo "opcion no definida"
;;
esac
Ejemplo obtener el PID del script en ejecucion y el pid de invocaciones dentro del mainPID
#!/bin/bash
myFunction(){
for (( a=1; a<10; a++ )); do
echo "myFunction iteration ${a}"
sleep 3
done
}
myFunction &
myFuncPid=$!
mainPid=$$
for (( a=1; a<10; a++ )); do
echo "mainPID ${mainPid} funcPid ${myFuncPid} iteration ${a}"
sleep 5
done