lunes, 27 de septiembre de 2021

Introducción a la programación Shell. Parte II. Estructuras.

Estructura if

  if expresion 
    then
	  echo A 
    else
	  echo B
  fi
  
  if expresion 
  	then
		echo C
	elif expresion 
   	  then
 		echo D
	else
		echo E
  fi
  

La estructura while

 	while [ condicion ]
	 do
		comandos...
	 done
  

La estructura until

 	until [ condicion ]
	 do
		comandos...
	 done
  

La estructura case

 	case variable in 
      patron1) comandos;;
      patron2) comandos;;
	  *) comandos;;	(por defecto)
	esac
  

domingo, 26 de septiembre de 2021

Introducción a la programación Shell. Parte I

Para crear una variable.

  var=valor 
  var=“valor alfanumérico“ 
  var=`pwd`  (acento grave)
  

Para acceder al contenido de una variable hay que utilizar el $.

echo, imprime cadenas de texto y valores numéricos en la pantalla. Ejecuta las siguientes instrucciones y observa el resultado.

  root@R2D2:~#var=hola
  root@R2D2:~#echo "Esto es una $var"
  root@R2D2:~#echo 'Esto es una $var'
  root@R2D2:~#echo "Esto es una '$var'"
  root@R2D2:~#echo "Esto es una \$var"
  root@R2D2:~#echo esto es una $var
  root@R2D2:~#echo -e "linea 1 \n linea 2 \t linea 3"
  

read, detiene la ejecución del programa hasta que el usuario introduzca un valor.Por ejemplo, read var guarda el valor pulsado en una var. Ejecuta las siguientes scritps y observa el resultado.

Voy a crear un guión, script redirigiendo la salida del comando cat a un fichero que no existe. Esto me creará un fichero con el contenido que he introducido.

  
  root@R2D2:~# cat >miprimeravez.sh (empiezo a escribir)
  	echo Introduce  tu nombre y 2 apellidos:
  	read a
	echo "Te llamas $a" (intro y CTRL+D)
  root@R2D2:~#. miprimeravez.sh
  otra vez
  root@R2D2:~#cat >misegundavez.sh
  	echo Introduce de nuevo tu nombre y 2 apellidos:
  	read a b
  	echo "Te llamas" $a $b
  root@R2D2:~#. misegundavez.sh
  root@R2D2:~# nano miterceravez.sh
  	echo Introduce por última vez tu nombre y 2 apellidos:
	read a b c
	echo "Te llamas $a $b $c"    
  

Ahora voy a ajecutar el script de otra forma para ello voy a dar permiso de ejecución al programa

  root@R2D2:~#chmod u+x miterceravez.sh
  root@R2D2:~#./miterceravez.sh
  

Desde el nano modifica el fichero miprimeravez.sh introduciendo este nuevo código. ¿Qué ocurre?

  read -n 6 -p "Introduce tu nombre y apellido" a
  echo -e "\n $a"
  

Donde hay un 6 pon ahora un 10. ¿Qué ocurre?