Чи можна використовувати декілька тут-документів для надання введення команди в bash?
$ cat <<<foo <<<bar
bar
$ cat <<EOF1 <<EOF2
> foo
> EOF1
> bar
> EOF2
bar
Очевидно, що в обох випадках другий тут-doc використовується як stdin і замінює перше посилання. Чи є рішення echo
замість цього використовувати s?
$ cat <(echo -n foo) <(echo bar)
foobar
Крім того, мені чомусь не вдалося використовувати комбінацію. Чому це було б?
$ cat <<<foo <(echo bar)
bar
$ cat <(echo -n foo) <<<bar
foo
Чи є якась причина, що ви хочете використовувати два тут документи, а не поєднувати їх в один?
—
квасоля
@beans Я насправді натрапив на це під час тестування за
—
Sparhawk
paste
допомогою фіктивних даних. Я думаю, я можу придумати кілька інших сценаріїв. Якби у мене був сценарій із заздалегідь маніпульованим текстом у кількох змінних, я, можливо, захотів би зробити щось обом із командою, яка приймає лише файли, наприклад diff
.
Інший варіант використання (я знайшов це , використовуючи тут-документи , щоб створити сценарій оболонки): ви хочете кілька рядків з підстановкою змінних , а потім деякі рядки без:
—
Toby Speight
cat <<EOF1 <<"EOF2"
.