У меня есть простой сценарий. Скрипт может быть запущен с определенными аргументами. Например:
./my-script.sh --last-name=Smith --first-name=John
Там назван curl
и запрос POST sended в сценарии:
curl --data-urlencode last_name=$lastName --data-urlencode first_name=$firstName https://example.com
Где firstName
и lastName
переменные, это проанализировало от аргументов.
Проблема, что firstName или lastName (но не оба) могут быть пропущены. Если аргумент пропущен, соответствующий параметр не делают sended к серверу.
Но я не знаю, как я могу реализовать эту логику в сценариях.
Ofcouse, я могу добавить if
для проверки аргумента на пустом указателе но у меня может быть много аргументы в командной строке, и в этом случае у меня будут тонны if
...
Что-то вроде этого: предположите
arg1=myname
arg2=
Затем для включения только непустых параметров, кода:
command="curl "
if [ "$arg1" != "" ]; then
command="$command --data-urlencode arg1=$arg1"
fi
if [ "$arg2" != "" ]; then
command="$command --data-urlencode arg2=$arg2"
fi
echo $command
у Вас есть один if
оператор для каждой переменной.