Используйте вывод команды для другого

Это похоже на то, что вы не включаете заголовки, которые определяют недостающие символы, например NSViewController, прежде чем включать заголовок моста.

0
задан Mad Physicist 19 January 2019 в 06:51
поделиться

2 ответа

Использование трубы и xargs:

find ./.stack-work/install -name nonosolver-exe -print0 | xargs -0 -I{} setsid "{}" >/dev/null 2>&1 < /dev/null &
0
ответ дан BladeMight 19 January 2019 в 06:51
поделиться

Оболочка

Используйте $(...), чтобы вставить стандартный вывод одной команды в виде строки:

setsid "$(find ./.stack-work/install -name nonosolver-exe)" >/dev/null 2>&1 < /dev/null &

Это вызовет неожиданные проблемы, если вы в конечном итоге найдете количество совпадений, кроме одного. Вы можете убедиться, что в переменной сначала выполняется проверка ошибок:

exe_path="$(find ./.stack-work/install -name nonosolver-exe)"
# check non-empty and no newlines
setsid "${exe_path}" >/dev/null 2>&1 < /dev/null &

Makefile

Эквивалентом сборки bash $(...) является makefile $(shell ...). И переменные расширяются с помощью $(...), а не ${...}:

setsid "$(shell find ./.stack-work/install -name nonosolver-exe)" >/dev/null 2>&1 < /dev/null

или

EXE_PATH = $(shell find ./.stack-work/install -name nonosolver-exe)
setsid "$(EXE_PATH)" >/dev/null 2>&1 < /dev/null
0
ответ дан Mad Physicist 19 January 2019 в 06:51
поделиться