Передайте параметр в make-файл

Вот мой опыт попытки запустить soffice в фоновом режиме после не- завершающая команда (например, хвост ). В этом примере я буду использовать sleep 100 .

&

#!/bin/bash
/opt/libreoffice4.4/program/soffice -invisible -nofirststartwizard &
sleep 100

I см. soffice logs / нажатием Ctrl - C soffice останавливается

nohup .. &

#!/bin/bash
nohup /opt/libreoffice4.4/program/soffice -invisible -nofirststartwizard &
sleep 100

Я не вижу soffice журналы / при нажатии Ctrl - C soffice останавливается

и отключается

#!/bin/bash
/opt/libreoffice4.4/program/soffice -invisible -nofirststartwizard & disown
sleep 100

Я вижу soffice журналы / нажав Ctrl - C soffice останавливается

setid .. &

#!/bin/bash
setsid /opt/libreoffice4.4/program/soffice -invisible -nofirststartwizard &
sleep 100

I см. soffice журналы / нажав Ctrl - C soffice НЕ ОСТАНАВЛИВАЕТСЯ

Для экономии места:
nohup setsid. . : не показывает журналы / soffice НЕ ОСТАНАВЛИВАЕТСЯ на Ctrl - C
nohup с и disown в конце: не показывает логи / soffice останавливается на Ctrl - C

6
02.09.2017, 14:38
2 ответа

Нужно убрать доллар вокруг тото, а также передать тото из командной строки по-другому

Командная строка

make toto=1  my_test

Makefile

my_test:
ifdef toto
        @echo 'toto is defined'
else
        @echo 'no toto around'
endif
24
27.01.2020, 20:25

Вы можете использовать это содержимое Makefile, хитрость заключается в функции фильтра -:

my_test:
ifeq (toto, $(filter toto,$(MAKECMDGOALS)))
        @echo 'toto is defined'
else
        @echo 'no toto around'
endif
        @echo run command $(if $(filter toto,$(MAKECMDGOALS)),--verbose,--normally)

%:
        @:

Результаты:

$ make my_test
no toto around
run command --normally

$ make my_test toto
toto is defined
run command --verbose

$ make toto my_test
toto is defined
run command --verbose

$ make my_test totofofo
no toto around
run command --normally

0
27.08.2021, 17:04

Теги

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