Apa yang Anda tulis di baris pertama terlihat seperti perintah lengkap (daftar "(gabungan)" dalam terminologi shell), jadi shell memperlakukannya sebagai perintah lengkap. Karena ada penanda mulai di sini-dokumen ( <<END), shell kemudian membaca konten di sini-dokumen, dan kemudian mulai perintah baru. Jika Anda ingin meletakkan dokumen di sini di tengah daftar, Anda perlu menunjukkan kepada shell bahwa daftar tersebut belum selesai. Berikut ini beberapa cara.
mpirun -np 6 ./laplace <<END |
…
END
tail -n 1 > output
{ mpirun -np 6 ./laplace <<END
…
END
} | tail -n 1 > output
Atau, tentu saja, Anda dapat memastikan perintah benar-benar cocok di baris pertama.
mpirun -np 6 ./laplace <<END | tail -n 1 > output
…
END
Aturan yang perlu diingat adalah bahwa konten di sini-dokumen dimulai setelah baris pertama yang tidak dikutip setelah <<ENDindikator. Misalnya, berikut ini cara lain yang membingungkan untuk menulis skrip ini:
mpirun -np 6 ./laplace <<END \
| tail -n $(
…
END
echo 1) > output