Если передать в скрипт не все данные, то может возникнуть ошибка. Количество входных параметров у sh-скриптов необходимо проверять. Хочу показать вам простой пример того как проверить количество переданных параметров $#. Тут поможет условие if-else.
#!/bin/bash
#Егор Астапов 2017-05-25
#число аргументов.
ARGS=3
# Неверное число аргументов.
E_BADARGS=65
# Проверка числа аргументов.
if [ $# -ne "$ARGS" ]
then
echo "ошибка: переданы не все параметры для скрипта: `basename $0`"
exit $E_BADARGS
else
echo "передано $# параметра"
fi
Хочу показать вам статью в которой выводятся все передаваемые параметры в столбик. Смотрите статью как вывести циклом список аргументов переданных скрипту sh args BASH.