Вот мой опыт попытки запустить soffice в фоновом режиме после не- завершающая команда (например, хвост
). В этом примере я буду использовать sleep 100
.
#!/bin/bash
/opt/libreoffice4.4/program/soffice -invisible -nofirststartwizard &
sleep 100
I см. soffice logs / нажатием Ctrl - C soffice останавливается
#!/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 останавливается
#!/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
Нужно убрать доллар вокруг тото, а также передать тото из командной строки по-другому
Командная строка
make toto=1 my_test
Makefile
my_test:
ifdef toto
@echo 'toto is defined'
else
@echo 'no toto around'
endif
Вы можете использовать это содержимое 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