আপনি প্রথম লাইনে যা লিখেছেন তা শেল টার্মিনোলজিতে একটি সম্পূর্ণ কমান্ড ("(যৌগিক) তালিকা" এর মতো দেখায়, তাই শেল এটি সম্পূর্ণ কমান্ড হিসাবে বিবেচনা করে। যেহেতু এখানে একটি নথির সূচনা চিহ্নিতকারী ( <<END) রয়েছে তাই শেলটি এখানে ডকুমেন্টের সামগ্রীগুলি পড়ে এবং তারপরে একটি নতুন কমান্ড শুরু করে। আপনি যদি এখানে-নথিটি কোনও তালিকার মাঝখানে রাখতে চান, আপনাকে শেলটি নির্দেশ করতে হবে যে তালিকাটি শেষ হয়নি। এখানে বেশ কয়েকটি উপায় রয়েছে।
mpirun -np 6 ./laplace <<END |
…
END
tail -n 1 > output
{ mpirun -np 6 ./laplace <<END
…
END
} | tail -n 1 > output
অথবা, অবশ্যই, আপনি নিশ্চিত করতে পারেন যে কমান্ডটি প্রথম লাইনে পুরোপুরি ফিট করে।
mpirun -np 6 ./laplace <<END | tail -n 1 > output
…
END
মনে রাখার নিয়মটি হ'ল এখানে-নথির বিষয়বস্তু <<ENDসূচকের পরে প্রথম অব্যক্ত নতুন লাইনের পরে শুরু হয় । উদাহরণস্বরূপ, এই স্ক্রিপ্টটি লেখার আরও একটি অবরুদ্ধ উপায়:
mpirun -np 6 ./laplace <<END \
| tail -n $(
…
END
echo 1) > output