Peut-on utiliser plusieurs here-docs pour fournir une entrée à une commande dans bash?
$ cat <<<foo <<<bar
bar
$ cat <<EOF1 <<EOF2
> foo
> EOF1
> bar
> EOF2
bar
Évidemment, dans les deux cas, le second here-doc est utilisé comme stdin, et remplace la première référence. La solution consiste-t-elle à utiliser echo
s à la place?
$ cat <(echo -n foo) <(echo bar)
foobar
De plus, pour une raison quelconque, l'utilisation d'une combinaison n'a pas fonctionné pour moi. Pourquoi serait-ce?
$ cat <<<foo <(echo bar)
bar
$ cat <(echo -n foo) <<<bar
foo
paste
avec des entrées factices. Je suppose que je peux penser à quelques autres scénarios. Si j'avais eu un script avec du texte pré-manipulé dans quelques variables, alors je pourrais vouloir faire quelque chose aux deux avec une commande qui ne prend que des fichiers, par exemple diff
.
cat <<EOF1 <<"EOF2"
.