до сих пор я редактировал свой сценарий, и он не работает так, как хотелось бы.
Сначала я представлю этот код:
while true ; do
case "$1" in
--mode)
MODE=$2
shift 2;
;;
-l|--login)
LOGIN=$2
shift 2;
;;
-e|--email)
EMAIL=$2
shift 2;
;;
-r|--repo)
REPO=$2
shift 2;
;;
-p|--project)
PROJ="$2"
shift 2;
;;
-h|--help)
echo "$doShowUsage"
exit 1
esac
break
done
if [ "$MODE" == "doAddRepository" ]; then
echo " CREATING REPOS!!!"
doAddRepository "$PROJ" "$REPO"
fi
if [ "$MODE" == "doAddProject" ]; then
doAddProject "$PROJ"
fi
Как вы можете видеть выше, когда я пишу в cli:
./script.sh --mode doAddProject -p test
Это не сработает, но когда я изменю код для:
if [ "$MODE" == "doAddProject" ]; then
doAddProject "$2"
fi
Тогда это работает! Мой вопрос в том, как подключиться к моим функциям? Я представляю ниже 2 из функций.
doAddRepository{
local projectName=$1
local repoName=$2
...
}
doAddProject{
local projectName=$1
...
}
TEMP=`getopt -o m:p:r:h --long mode:,project:,repo:,help -n 'script.sh' -- "$@"`
eval set -- "$TEMP"