yarkov
@yarkov
Помог ответ? Отметь решением.

Как использовать bash внутри Makefile?

Пытаюсь написать секцию test:
BINNAME = passgen
BIN_DIR = ./bin

...
test:
	make
	@len=$($(BIN_DIR)/$(BINNAME) -l20 -ds | wc -m)
	@[ $$len -eq '21' ] && echo "[PASSGEN TEST] OK" || echo "[PASSGEN TEST] ERROR"


Если выполнить команды прямо в консоли, то все ОК.
А сейчас вот что пишет:
$ make test
/bin/bash: строка 0: [: -eq: ожидается использование унарного оператора
[PASSGEN TEST] ERROR
  • Вопрос задан
  • 791 просмотр
Решения вопроса 1
yarkov
@yarkov Автор вопроса
Помог ответ? Отметь решением.
Решил проблему так:
test:
	make
	@test $$($(BINDIR)/$(BINNAME) -l20 -ds | wc -m) == '21' && echo "[PASSGEN TEST] OK" || echo "[PASSGEN TEST] ERROR"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Вариант решения для оригинального вопроса: добавить в Makefile строчку
SHELL = /bin/bash
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы