Один из способов сделать это - использовать xargs
, что превращает Строки, разделенные пробелами, на стандартном вводе в аргументы командной строки. Если ваш файл называется переключатели
, это будет выглядеть так:
xargs ./configure < switches
Это не будет расширять такие вещи, как *
или $ VAR
. Если (как в вашей редакции) вы хотите, чтобы они были расширены, есть несколько подходов. Мы можем просто создать команду и передать ее sh
:
xargs printf '%s ' ./configure < switches | sh
Или, если у вас есть envsubst
, это расширит переменные (например, $ {HOME}
), но не файловые глобусы ( *
):
envsubst < switches | xargs ./configure