Вам нужно указать $
s и добавить ;
import-bd:
@while ! nc -z $$(make ips | awk '/mysql/ { print $$2 }') 3306; do \
sleep 1; \
done
Когда make видит один $
, он пытается выполнить расширение переменной. Записав $$
, make передает один $
в awk (или, точнее, передает $
в SHELL, который вызывает awk
). Кроме того, точка с запятой после sleep 1
необходима, потому что make удаляет символ новой строки.