as your script says: Its total number of command line arguments you are passing to your script.
if you have a script name as: kl.sh
execute it as
./kl.sh hj jl lk
or even bash kl.sh hj jl lk
and in script you are doing
echo $#
It will print 3
where
$1 is hj
$2 is jl
$3 is lk