TransWikia.com

Передача значения переменной из консоли в make

Stack Overflow на русском Asked on January 13, 2021

Всем привет, подскажите пожалуйста возможно ли как-то из консоли передать значение переменной, заданной в Makefile?

У меня в php-проекте есть Makefile с такой командой:

create-file:
    echo "текст в файле" > $EXPECTED_VALUE.php

Такой вариант не работает:

make create-file --expected-value=new_filename

UPD

Пример текста для записи в переменную в Makefile

VARIABLE="<?php

          namespace AppForm${CLASS_NAME};

          use AppForm${CLASS_NAME}Request${CLASS_NAME}CreateRequest;
          use SymfonyComponentFormAbstractType;
          use SymfonyComponentFormFormBuilderInterface;
          use SymfonyComponentOptionsResolverOptionsResolver;

          class ${CLASS_NAME}Type extends AbstractType
          {
              public function buildForm(FormBuilderInterface $builder, array $options): void
              {
                  $builder
                      ->add('name', null, [
                          'label' => 'Название'
                      ]);
              }

              public function configureOptions(OptionsResolver $resolver): void
              {
                  $resolver->setDefaults([
                      'data_class' => ${CLASS_NAME}Request::class,
                  ]);
              }
          }
"

One Answer

  1. Имя переменной надо записать в фигурных скобках:

    create-file:
        echo "текст в файле" > ${EXPECTED_VALUE}.php
    
  2. Передавайте как переменную окружения:

    EXPECTED_VALUE=file_with_text make create-file
    
  3. Проверка:

    cat file_with_text.php
    

UPD

Alexey Ten подсказывает о возможности прямой передачи значений как аргументов:

make create-file EXPECTED_VALUE=file_with_text

Correct answer by mkkik on January 13, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP