У меня есть своего рода вопрос "bash newbie": как передать результат выполнения одной команды в exec. Результатом первой команды является имя другой команды, поэтому exec должен иметь возможность ее выполнить.
Вы уверены, что хотите exec? Если вы просто хотите выполнить результат команды, вам не нужно exec, просто запустите ее напрямую. Для этого execнужно выйти из текущей оболочки и заменить ее указанной программой.
Гордон Дэвиссон
Ответы:
1
Используйте подстановку команд . Придуманный (и довольно бесполезный) пример:
exec $(echo whoami)
$(…)Будет заменена на вывод команды внутри. Есть также вариант с обратными чертами (`), но он не рекомендуется по разным причинам .
exec
? Если вы просто хотите выполнить результат команды, вам не нужноexec
, просто запустите ее напрямую. Для этогоexec
нужно выйти из текущей оболочки и заменить ее указанной программой.Ответы:
Используйте подстановку команд . Придуманный (и довольно бесполезный) пример:
$(…)
Будет заменена на вывод команды внутри. Есть также вариант с обратными чертами (`), но он не рекомендуется по разным причинам .источник