В Shell Script я реализовал аргумент в виде пары Key Value, если какое-либо значение не указано, он принимает ключ в качестве значения - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть скрипт такой, что он принимает пары например, test.sh --arg1 "value1" --arg2 "value2"

while :; do
  case "$1" in
    --arg1)
      if [ "$2" ]; then
        name=$2
        shift
      fi;;
    --arg2)
      if [ "$2" ]; then
        lastname=$2
        shift
      fi;;
   -?*)
      die "ERROR: Unknown option: $1";;
    *)
      break
  esac
  shift
done

В Jenkins, если какое-либо из необязательных полей недоступно, в качестве ключа будет взято значение

sh test.sh --arg1 ${arg1} --arg2 ${arg2}

Если ${arg1} не имеет никакого значения, оно принимает -arg2 как неверное значение. Как я могу это исправить?

1 Ответ

0 голосов
/ 06 ноября 2018

Цитировать переменные расширения.

sh test.sh --arg1 "${arg1}" --arg2 "${arg2}"
...