jeudi 9 août 2018

La structure IF ELSE

La structure IF ELSE
La estructura IF ELSE permite realizar un o multiples  tests booleanos afin de ejecutar las instructiones que satisfacen la condicion 


Example 1 : el ejemplo siguiente muestra la utilisasion de la estructura if para verfifcar la existencia de un dossier 

SRC1="installfolder"
DATE1=`date '+%y%m%d-%H%M%S'`
FOLDER=FILES$DATE1
BASEDIR=$(dirname "$0")
DESTPATH="/sdcard"

#COPY PAYLOAD TO  STORAGE
if [ -d $SRC1 ];then
 printf "proceed to copy on internal FOLDER=$FOLDER \n\t"
 mkdir $DESTPATH/$FOLDER &&
 cp -rv $SRC1/* $DESTPATH/$FOLDER &&
 printf "copy finished\n"
else
 printf "unzip file doesn't exist\n"
fi
  • BASEDIR=$(dirname "$0"):dirname permite recuperar el path completo del script en exécution  ,el script es representado por la variable  $0
  • if [ -d $SRC1 ];then :permite verificar si la variable SRC1 es de tipo dossier ,en caso positivo la condition sera TRUE y el programa executara la parte interior de este caso
  • ELSE:en caso de que la condition es FALSE  el programa ejecutara la parte interior de este caso


ejemplo2: el siguiente ejemplo muestra como verificar dos test booleanos en una misma syntaxis  asi , el ejemplo verifica la no existencia de un dossier y la existencia de un archivo afin de ejecutar el codigo si la condicion es verdadera

if [ ! -d $DESTPATH/$FOLDER ] && [ -f $SRC1 ];then
printf "proceed to create FOLDER=$FOLDER \n\t"
mkdir -p $DESTPATH/$FOLDER
else
printf "destination folder already or missing zip exit=2 \n"
exit 2
fi

  • if [ ! -d $DESTPATH/$FOLDER ] && [ -f $SRC1 ]; : verificar dos condiciones  la primera es la no existencia de un dossier  $FOLDER y la existencia del archivo $SCR1 si las dos condiciones son verdaderas el codigo es ejecutado [ true ] && [ true ] = EJECUTAR
  • mkdir -p $DESTPATH/$FOLDER : permite crear un dossier asi como los dossier parents en caso que no existan