পজিক্স 7
কেনেটিএম উদ্ধৃত হয়েছে man bash
, তবে এর বেশিরভাগটি পসিএক্স 7: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04 :
পুনঃনির্দেশ অপারেটরগুলি "<<" এবং "<< -" উভয়ই কমান্ডের ইনপুটটিতে "এখানে-নথি" হিসাবে পরিচিত শেল ইনপুট ফাইলের মধ্যে থাকা লাইনগুলির পুনঃনির্দেশের অনুমতি দেয়।
এখানে নথিতে একটি একক শব্দ হিসাবে বিবেচিত হবে যা পরের পরে শুরু হয় এবং অবধি অবধি অবধি অবধি অবধি অবধি অবধি চলতে থাকবে যতক্ষণ না এর মধ্যে কোন অক্ষর নেই। তারপরে পরবর্তী এখানে-নথিটি শুরু হয়, যদি একটি থাকে। ফর্ম্যাটটি নিম্নরূপ:
[n]<<word
here-document
delimiter
যেখানে nচ্ছিক এন ফাইল বর্ণনাকারী নম্বর উপস্থাপন করে। যদি নম্বরটি বাদ দেওয়া হয় তবে এখানে-নথিটি স্ট্যান্ডার্ড ইনপুট (ফাইল বর্ণনাকারী 0) বোঝায়।
যদি শব্দের কোনও চরিত্র উদ্ধৃত হয়, শব্দের উপর উদ্ধৃতি অপসারণ সম্পাদন করে ডিলিমিটারটি গঠিত হবে এবং এখানে নথির লাইনগুলি প্রসারিত হবে না। অন্যথায়, ডিলিমিটারটি নিজেই শব্দ হবে।
যদি শব্দের কোনও অক্ষরের উদ্ধৃতি না দেওয়া হয় তবে এখানে-নথির সমস্ত লাইন প্যারামিটার সম্প্রসারণ, কমান্ড প্রতিস্থাপন এবং পাটিগণিতের বিস্তারের জন্য প্রসারিত হবে। এই ক্ষেত্রে, ইনপুটটিতে অভ্যন্তরীণ ডাবল-কোট হিসাবে আচরণ করা হয় (ডাবল-কোটস দেখুন)। তবে ডাবল-কোট অক্ষর ('' ') এখানে একটি নথির মধ্যে বিশেষভাবে বিবেচনা করা হবে না, কেবলমাত্র "$ ())", "` `", বা "$ {}" এর মধ্যে ডাবল-কোট প্রদর্শিত হবে।
যদি পুনঃনির্দেশ প্রতীকটি "<< -" হয় তবে সমস্ত নেতৃস্থানীয় <tab>
অক্ষরগুলি ইনপুট লাইন এবং পিছনের ডিলিমিটারযুক্ত লাইন থেকে সরিয়ে নেওয়া হবে। যদি একাধিক "<<" বা "<< -" অপারেটর একটি লাইনে নির্দিষ্ট করা থাকে, তবে প্রথম অপারেটরের সাথে সম্পর্কিত এই নথিটি প্রথমে অ্যাপ্লিকেশন দ্বারা সরবরাহ করা হবে এবং শেল দ্বারা প্রথমে পড়তে হবে।
যখন এখানে-নথিটি টার্মিনাল ডিভাইস থেকে পড়ে এবং শেলটি ইন্টারেক্টিভ হয়, তখন শেল ভেরিয়েবলগুলিতে বর্ণিত হিসাবে প্রসেস করা চলক PS2 এর বিষয়বস্তু লিখতে হবে, যতক্ষণ না ডিলিমিটারটি স্বীকৃত হয় ততক্ষণ ইনপুটটির প্রতিটি লাইন পড়ার আগে স্ট্যান্ডার্ড ত্রুটিতে error
উদাহরণ
কিছু উদাহরণ এখনও দেওয়া হয়নি।
উদ্ধৃতিগুলি প্যারামিটারের প্রসারণ রোধ করে
উক্তি ব্যতীত:
a=0
cat <<EOF
$a
EOF
আউটপুট:
0
উদ্ধৃতি সহ:
a=0
cat <<'EOF'
$a
EOF
বা (কুরুচিপূর্ণ তবে বৈধ):
a=0
cat <<E"O"F
$a
EOF
আউটপুট:
$a
হাইফেন নেতৃস্থানীয় ট্যাবগুলি সরিয়ে দেয়
হাইফেন ছাড়া:
cat <<EOF
<tab>a
EOF
কোথায় <tab>
আক্ষরিক ট্যাবটি এবং এর সাথে সন্নিবেশ করা যায়Ctrl + V <tab>
আউটপুট:
<tab>a
হাইফেন সহ:
cat <<-EOF
<tab>a
<tab>EOF
আউটপুট:
a
এটি অবশ্যই উপস্থিত রয়েছে যাতে আপনি আপনার cat
চারপাশের কোডটি পছন্দ করতে পারেন যা পড়া এবং বজায় রাখা সহজ। উদাহরণ:
if true; then
cat <<-EOF
a
EOF
fi
দুর্ভাগ্যক্রমে, এটি স্থানের অক্ষরের জন্য কাজ করে না: পসিক্স tab
এখানে ইন্ডেন্টেশন পছন্দ করেছে । বাবা।
cat
। ব্যবহার করে দেখুনpsql ... << EOF ...
দেখুন "এখানে স্ট্রিং"। mywiki.wooledge.org/BashGuide/InputAndOutput?# এখানে পোস্ট করুন