অ্যান্ড্রয়েড

বাশ হেরডোক

নজরুলের কাটিং পদ্ধতিতে বাশ চাষে বছরের লাখ লাখ টাকা আয় Bangla Tv report

নজরুলের কাটিং পদ্ধতিতে বাশ চাষে বছরের লাখ লাখ টাকা আয় Bangla Tv report

সুচিপত্র:

Anonim

শেল স্ক্রিপ্টগুলি লেখার সময় আপনি এমন পরিস্থিতিতে পড়তে পারেন যেখানে আপনাকে একটি ইন্টারেক্টিভ কমান্ড, যেমন tee , cat , বা sftp পাঠ্য বা কোডের একাধিক ব্লক পাস করতে হবে।

জ্যাশ-এর ​​মতো বাশ এবং অন্যান্য শেলগুলিতে হিয়ার ডকুমেন্ট (হেরডোক) এমন এক ধরণের পুনর্নির্দেশ যা আপনাকে একটি কমান্ডে একাধিক লাইন ইনপুট দেয়।

এখানেডোক লেখার বাক্য গঠনটি নিম্নলিখিত রূপটি গ্রহণ করে:

<< 'DELIMITER' HERE-DOCUMENT DELIMITER

  • প্রথম লাইনটি redচ্ছিক কমান্ডের পরে শুরু হয় বিশেষ পুনঃনির্দেশ অপারেটর << এবং ডিলিমিটিং শনাক্তকারী by
    • আপনি যে কোনও স্ট্রিংকে একটি বিস্ময়কর শনাক্তকারী হিসাবে ব্যবহার করতে পারেন, সর্বাধিক ব্যবহৃত হয় ইওএফ বা শেষ im পুনঃনির্দেশ অপারেটরে <<- বিয়োগ বিয়োগ চিহ্ন <<- , সমস্ত নেতৃস্থানীয় ট্যাব অক্ষরকে উপেক্ষা করবে। শেল স্ক্রিপ্টগুলিতে এখানে নথিগুলি লেখার সময় এটি আপনাকে ইনডেন্টেশন ব্যবহার করতে দেয়। শীর্ষস্থানীয় সাদা স্থান অক্ষরের অনুমতি নেই, কেবল ট্যাব।
    এখানে-ডকুমেন্ট ব্লকে স্ট্রিং, ভেরিয়েবল, কমান্ড এবং অন্য কোনও ধরণের ইনপুট থাকতে পারে last শেষ লাইনটি সীমানা চিহ্নিতকারী দিয়ে শেষ হয়। ডিলিমিটারের সামনে সাদা স্থানের অনুমতি নেই।

বেসিক হেরডোক উদাহরণ

এই বিভাগে, আমরা কীভাবে হেরডোক ব্যবহার করতে পারি তার কয়েকটি প্রাথমিক উদাহরণগুলি দেখব।

হেরডোক প্রায়শই বিড়াল কমান্ডের সাথে মিলিত হয়।

নীচের উদাহরণে, আমরা এখানে দুটি নথী এনভায়রনমেন্ট ভেরিয়েবল এবং টেক্সট এখানে একটি ডকুমেন্ট ব্যবহার করে cat যাচ্ছি।

cat << EOF The current working directory is: $PWD You are logged in as: $(whoami) EOF

আপনি নীচের আউটপুট থেকে দেখতে পাচ্ছেন, ভেরিয়েবল এবং কমান্ড আউটপুট উভয়ই প্রতিস্থাপিত হয়:

The current working directory is: /home/linuxize You are logged in as: linuxize

আসুন আমরা যদি একক বা ডাবল উদ্ধৃতিতে ডিলিমিটারটি আবদ্ধ করি তবে কী হবে তা দেখা যাক।

cat <<- "EOF" The current working directory is: $PWD You are logged in as: $(whoami) EOF

আপনি খেয়াল করতে পারেন যে যখন ডিলিমিটারটি উদ্ধৃত হয় তখন কোনও পরামিতি সম্প্রসারণ হয় না এবং শেল দ্বারা কমান্ড প্রতিস্থাপন হয় না।

The current working directory is: $PWD You are logged in as: $(whoami)

if true; then cat <<- EOF Line with a leading tab. EOF fi

Line with a leading tab.

স্ক্রিনে আউটপুট প্রদর্শন করার পরিবর্তে আপনি >> অপারেটরগুলি ব্যবহার করে কোনও ফাইলে পুনর্নির্দেশ করতে পারেন।

cat << EOF > file.txt The current working directory is: $PWD You are logged in as: $(whoami) EOF

File.txt না থাকলে এটি তৈরি হবে it > ব্যবহার করার সময় ফাইলটি ওভাররাইট করা হবে, যখন >> ফাইলটিতে আউটপুট যুক্ত হবে।

বংশগত ইনপুটটি পাইপ করা যায়। নিম্নলিখিত উদাহরণে sed কমান্ড l অক্ষরের সমস্ত দৃষ্টান্ত e সাথে প্রতিস্থাপন করবে:

cat <<'EOF' | sed 's/l/e/g' Hello World EOF

Heeeo Wored

পাইপেযুক্ত ডেটা কোনও ফাইলে লিখতে:

cat <<'EOF' | sed 's/l/e/g' > file.txt Hello World EOF

এসএসএইচ দিয়ে হেরাদোক ব্যবহার করা

এসএসএইচ-র মাধ্যমে দূরবর্তী সিস্টেমে একাধিক কমান্ড কার্যকর করার জন্য হেরডোক ব্যবহার করা অন্যতম সুবিধাজনক এবং সহজ উপায়।

অব্যক্ত ডিলিমিটার ব্যবহার করার সময় নিশ্চিত করুন যে আপনি সমস্ত পরিবর্তনশীল, কমান্ড এবং বিশেষ অক্ষরগুলি এড়িয়ে গেছেন অন্যথায় তারা স্থানীয়ভাবে বিভক্ত হবে:

ssh -T [email protected] << EOF echo "The current local working directory is: $PWD" echo "The current remote working directory is: \$PWD" EOF

The current local working directory is: /home/linuxize The current remote working directory is: /home/user

আপনি একটি এসএসএইচ কী-ভিত্তিক প্রমাণীকরণ সেট আপ করতে এবং কোনও পাসওয়ার্ড প্রবেশ না করেই আপনার লিনাক্স সার্ভারের সাথে সংযুক্ত করতে চাইতে পারেন।

উপসংহার

এই গাইডে আপনি heredoc কী এবং আপনার শেল স্ক্রিপ্টগুলিতে এটি কীভাবে ব্যবহার করবেন তা শিখেছেন।

বাশ টার্মিনাল