আপনার কেবলমাত্র একটি সংক্ষিপ্ত পরিবর্তন প্রয়োজন; এখানে ডকুমেন্ট ডিলিমেটার পরে একক উদ্ধৃতি <<
।
cat <<'EOF' >> brightup.sh
বা সমানভাবে ব্যাকস্ল্যাশ-এড়িয়ে চলুন:
cat <<\EOF >>brightup.sh
উদ্ধৃতি না দিয়ে, এখানে দস্তাবেজটি ভেরিয়েবল প্রতিস্থাপনের মধ্য দিয়ে যাবে, ব্যাকটিকগুলি মূল্যায়ন করা হবে ইত্যাদি আপনি যেমন আবিষ্কার করেছিলেন।
যদি মানগুলি কিছু না, তবে সমস্তগুলি প্রসারিত করতে হয় তবে আপনি যেগুলি প্রতিরোধ করতে চান তা স্বতন্ত্রভাবে পালাতে হবে।
cat <<EOF >>brightup.sh
echo "\$HOME will not be evaluated because it is backslash-escaped"
EOF
উত্পাদন করবে
#!/bin/sh
echo "$HOME will not be evaluated because it is backslash-escaped"
@ ফেডরকিইর পরামর্শ অনুসারে , এখানে থেকে প্রাসঙ্গিক বিভাগটি এখানে man bash
:
এখানে নথি
এই ধরণের পুনর্নির্দেশটি শেলটিকে বর্তমান উত্স থেকে ইনপুট পড়ার নির্দেশ দেয় যতক্ষণ না কেবল ডেলিফিমিটার (কোনও পেছনের ফাঁকা জায়গা নয়) উপস্থিত থাকে। সেই বিন্দু পর্যন্ত পঠিত সমস্ত লাইন তখন কমান্ডের জন্য স্ট্যান্ডার্ড ইনপুট হিসাবে ব্যবহৃত হয়।
এখানে-নথির বিন্যাসটি হ'ল:
<<[-]word
here-document
delimiter
কোনও পরামিতি সম্প্রসারণ, কমান্ড প্রতিস্থাপন, গাণিতিক সম্প্রসারণ, বা পথের নাম সম্প্রসারণ শব্দের উপর সঞ্চালিত হয় না। যদি শব্দের কোনও অক্ষর উদ্ধৃত হয় তবে ডিলিমিটারটি শব্দের উপর উদ্ধৃতি অপসারণের ফলাফল এবং এখানে-নথির লাইনগুলি প্রসারিত হয় না। যদি শব্দটি উদ্ধৃত না করা হয় তবে এখানে-নথির সমস্ত লাইন প্যারামিটার সম্প্রসারণ, কমান্ড প্রতিস্থাপন এবং পাটিগণিতের বিস্তারের দ্বারা সাপেক্ষ । পরবর্তী ক্ষেত্রে, অক্ষর ক্রম `উপেক্ষা করা হয়, এবং characters, $, এবং characters বর্ণগুলি উদ্ধৃত করতে অবশ্যই ব্যবহার করা উচিত`
#!/bin/bash
এবং অন্য কিছুই নয় - এটিই#!
এটি একটি বৈধ শেবাং লাইনে পরিণত করে এবং এর পরে কী আসে তা হ'ল দোভাষীর পথ।