Я пытаюсь написать простой bash-скрипт, который будет выглядеть следующим образом
$ ./export.sh -n <my-file-name> -a <my-api-key>
Я использую это для передачи некоторых аргументов во время сборки в проекте Go.
Очень простая версия скрипта:
#!/bin/bash
while getopts n:a option
do
case "${option}"
in
n) FILENAME=${OPTARG};;
a) APIKEY=${OPTARG};;
esac
done
if [ -z "$FILENAME" ]
then
FILENAME=downloader
fi
if [ -z "$APIKEY" ]
then
echo "[ERROR] Missing API key"
exit 1
fi
cd src && go build -o ../build/${FILENAME}.exe downloader -ldflags "-X api.APIServiceKey="${APIKEY}
Если FILENAME
не существует, я предоставляю значение по умолчанию, однако, если APIKEY
отсутствует, я хотел бы существовать и показать сообщение.
Выполнение скрипта со всеми аргументами, однако, выдает ошибку, как будто отсутствует APIKEY
.