Это похоже на другую проблему , но я хочу, чтобы make
запрашивал значение, только если я запускаю конкретную цель и обязательная переменная не указана .
Текущий код:
install-crontab: PASSWORD ?= "$(shell read -p "Password: "; echo "$$REPLY")"
install-crontab: $(SCRIPT_PATH)
@echo "@midnight \"$(SCRIPT_PATH)\" [...] \"$(PASSWORD)\""
Это просто приводит к следующему выводу без запроса:
Password: read: 1: arg count
@midnight [...] ""
Важным моментом здесь является то, что я должен спросить только при запуске этой цели и только , если переменная не была определена. Я не могу использовать сценарий configure
, поскольку, очевидно, мне не следует хранить пароли в сценарии конфигурации, а также потому, что эта цель не является частью стандартной процедуры установки.