Makefile - это хорошо, но почему бы просто не использовать сценарии оболочки для сценариев общего назначения?Но, чтобы ответить на ваш вопрос:
Команда, в которой вы задали переменную среды, неверна, у =
не должно быть пробелов с обеих сторон.Измените его на:
init:
vagrant_cpu=$(CPU_NUM) vagrant up
A Vagrantfile
- это просто скрипт Ruby .Это означает, что вы можете обращаться к переменным окружения так же, как и в Ruby, используя ENV
.В вашем Vagrantfile
вы можете получить что-то вроде:
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = ENV["vagrant_cpu"].to_i
end
Примечание to_i
для преобразования в целое число.