Предположит, у меня есть файл, содержащий params.txt
содержаниямногословных аргументов из кавычки (команда подстановки)
--option "option 1" --option "option 2"
Я хотел бы иметь возможность использовать содержимое params.txt
в качестве аргументов командной строки для некоторой программы, myProg
:
./myProg $(cat params.txt)
или
./myProg `cat params.txt`
Но это не работает: он рассматривает аргументы с несколькими словами как несколько аргументов, а не одинарные кавычки. Есть ли способ использовать команду подстановки (или какой-либо другой Баш особенность, которую я не знаю о), чтобы вытащить аргументы из params.txt
и получить
./myProg --option "option 1" --option "option 2"
как исполняемой команды?
Является ли 'params.txt' написанным человеком или частью программного обеспечения? –
... если это исходит из программного обеспечения, лучший выбор - сделать его NUL-ограниченным, а не shell-quoted. –
Спасибо. Это написано человеком. Если бы это было NUL-делимитировано, можно ли легко использовать его в bash? EDIT: просто увидели обновление вашего ответа. Спасибо! –