#!/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