这是我的bash脚本的参数之一。但似乎出了点问题。
Bash脚本:
case "${1}" in
--api )
if ( "${2}" == "US" ); then
sparkEndpoint="https://api.sparkpost.com/api/v1/transmissions"
shift
elif ( "${2}" == "EU" ); then
sparkEndpoint="https://api.eu.sparkpost.com/api/v1/transmissions"
shift
else
echo -e ${parameterNotSpecified}
echo -e ${usageApi}
break
fi
shift
;; [...]
控制台输出:
./fn_sendmail.sh --api EU
./fn_sendmail.sh: Zeile 95: EU: Kommando nicht gefunden.
./fn_sendmail.sh: Zeile 98: EU: Kommando nicht gefunden.
You called an option but didn't specified it! Usage of --api
--api [eu,us]
Description: Sets the API endpoint for Sparkpost
Necessary: No
Default: EU
答案 0 :(得分:0)
您可能需要
shift 2
同时删除--api
和位置(美国/欧盟)。
答案 1 :(得分:0)
1)使用[]代替()
2)使用=代替==
请参阅@GordonDavisson的评论以了解原因