Cygwin bash скрипт, удаляющий знак равенства - PullRequest
0 голосов
/ 25 апреля 2019

Сценарий Cygwin make удаляет знак равенства из командного вызова.Как мне избежать этого, чтобы = отправлялось в команду.

Пробовал экранировать = с \ и заключать его в "" и ", но это не сработало.

$ (elabcmd) =$ (XELAB_DEFAULT) \
-общий вариант = 10

компиляция:
$ (elabcmd)

Вот результат:

приглашение cygwin:> makecompile
Выполнение: xelab.exe -общая ВЕРСИЯ 10

(обратите внимание, что знака равенства нет)

Я хочу
xelab.exe -общий ВЕРСИЯ = 10

1 Ответ

0 голосов
/ 07 мая 2019

Этот бит:

$(elabcmd) = $(XELAB_DEFAULT) \ -generic VERSION=10

не имеет смысла для меня.Разве это не должно быть elabcmd = ..., а не $(elabcmd) = ...?

Я создал следующий Makefile согласно вашим спецификациям:

XELAB_DEFAULT = true.exe
elabcmd = $(XELAB_DEFAULT) -generic VERSION=10

compile:
      $(elabcmd)

Затем запустил его в Cygwin:

$ make compile

Вывод:

true.exe -generic VERSION=10

Похоже, это работает для меня.

...