#!/bin/bash
#  semplice procedura che mostra l'uso di variabili 
#  numeriche nella bash shell 
#  Si mostra anche l'uso degli argomenti di una procedura ,
#  si mostra come impostare il "return code" 
#
#set -e -v 

if (( $# != 2 )) ; then             # controllo il numero di argomenti 
     echo " errore, voglio 2 numeri come argomenti "
     exit 1 ;                       # esce e come "return code mette 1 : falso
fi      

echo "mi hai dato i numeri : $1 $2 "

a=$(( $1 + $2 )) # sistassi per valutare espressioni numeriche
let b=$1-$2      # si puo' anche fare cosi' 
                 # ( ma attenzione a non mettere spazi accanto a  '=' e '-')

echo La somma vale: $a, la differenza: $b 

if [ $1 -lt $2 ] ; then                                
   echo " $1 < $2 "
elif [ $1 -gt $2 ] ; then    
   echo " $2 < $1 "  
else 
   echo " i numeri sono  eguali "    
fi			     

exit 0  # e' andato tutto bene , esce col codice 0 : vero  

# Uso del "return code" e di esecuzione condizionale dei comandi: 

# se scrivo: 
# numeri ||  echo "ARG" 
# numeri da errore ( return code 1 ) e viene eseguito il segondo comando 
# numeri 1 2 ||  echo "AAARG"  
# qui numeri non da errore e non vedo AAARG 	sul terminale 
# numeri 1 2 &&  echo "OK" 
# Con "&&" il  secondo comando viene eseguito solo se il primo da
# return code 0 , esempio:
# numeri 1 2 &&  echo "OK" 
