У меня есть программа CLI, которая генерирует аргументы в виде одной строки для другой программы CLI. Я звоню как из BASH. Вот упрощенная версия того, что у меня есть:
produce_args() {
echo "arg1 \"ar g2\" arg3"
}
consume_args() {
for arg in "$@"; do
echo "$arg"
done
}
TMP="$(produce_args)"
consume_args $TMP
Он печатает:
arg1
"ar
g2"
arg3
Итак, аргумент 2 был разделен на два аргумента. Как увидеть вывод, подобный этому?
arg1
ar g2
arg3
Я могу изменить свою программу CLI генератора и скрипт BASH, но не программу потребителя. Также я могу использовать zsh
, но я не думаю, что это имеет значение в моем случае.