maniu@securebrain.com:~/script# vi makeseq.sh



    #!/bin/sh
    # lo script printa una sequenza di numeri compresi fra due parametri dati all'esecuzione
    FIRST=$1                    # dichiaro le variabili come parametri posizionali da dare in input
    LAST=$2
    CTRL1=${FIRST//[^0-9]/}     # CTRL esclude da FIRST tutti i caratteri che non sono
				# compresi fra 0 e 9.
    CTRL2=${LAST//[^0-9]/}
    if [ "$1" = "--help" ];
            then
            echo -e "Usage: makeseq FIRST LAST \n Print numbers from FIRST to LAST, in steps of 1\n FIRST number must be greater than LAST number \n\n     --help     display this help and exit\n\nReport bugs to .";
            else
     if [ -z $FIRST ] || [ -z $LAST ] || [ "$FIRST" != "$CTRL1" ] || [ "$LAST" != "$CTRL2" ];
		# se una o entrambe le variabili non sono state passate  
		# o se una o entrambi i paramentri passati contegono lettere
            then
            echo -e "\n \\e[1;32mNo valid input. \n Please, insert FIRST and LAST numbers \n Try makeseq --help for more information\\e[0m \n";
            else
                if [ $FIRST -gt $LAST ];         # testa che il 1^ paramentro non sia maggiore del 2^
                                                 # altrimenti la sequenza non esiste
                          then
                          echo -e "\n \\e[1;32mPlease, invert numbers... :P \n Try makeseq --help for more information\\e[0m \n"
                          else
                          for i in $(seq -f %g $FIRST $LAST); do   
                          # %g e' di default,  si puo' omettere
                          # genera la sequenza di numeri compresa fra FIRST e LAST
                          # e printa la lista generata
                            echo $i;
                          done
               fi
     fi
    fi




:q!