This is a beginner question, I have already checked that Check existence of input argument in a Bash shell script but it doesn't fully explain what I want to do.
gcc -Wall cx17.$1.c -o cx17.$1
if [ -z "$1" ]
  then
    echo "No argument supplied"
else if [ -z "$2"]
    then
        echo "Data file is missing!!"   
else if [ -z "$3"]
    then
        ./cx17.$1 $2 > ./cx17.$1.$2 
else 
    ./cx17.$1 $2 $3 > ./cx17.$1.$2 
fi
So you understand this very basic use case, depending on arguments (if there is 1, 2 or 3) the script will perform a different task.
I know it's really simple that's why I think I'm missing something obvious.
Thanks for your help
The answered I validate gave me some errors but lead me to the right stuff:
if [ -z "$1" ]; then
    echo 'No argument supplied';
elif [ -z "$2" ]; then
    echo 'Data file is missing!!';
elif [ -z "$3" ]; then
    ./cx17.$1 $2 >./cx17.$1.$2;
else
    ./cx17.$1 $2 $3 >./cx17.$1.$2;
fi;
 
     
     
    