Вы можете получить доступ к командной строке аргументы, переданные вашему скрипту, используя positional parameters.
Также, чтобы проверить, было ли передано правильное количество аргументов скрипту, вы можете использовать переменную $#
, которая содержит количество переданных аргументов.
if [ $# -eq 1 ]; then
# exactly 1 argument was passed..use it..its available in $1
echo "Argument $1"
else
# either 0 or >1 arguments were passed...error out.
echo "Incorrect number of arguments passed"
exit 1
fi
Пример запуска:
$ bash a.sh
Incorrect number of arguments passed
$ bash a.sh foo
Argument foo
$ bash a.sh foo bar
Incorrect number of arguments passed
$
возможно дубликат [помощь с Баш скрипт] (http://stackoverflow.com/questions/3955604/help-with-bash-script) –