একই স্ক্রিপ্টের সাথে bash
এবং বিভিন্ন কমান্ড কার্যকর করার বিভিন্ন উপায় রয়েছে cmd
।
cmd
:;
অন্যান্য উত্তরে উল্লিখিত হিসাবে শুরু হওয়া লাইনগুলি উপেক্ষা করবে । কমান্ড দিয়ে যদি বর্তমান লাইনটি শেষ হয় তবে এটি পরবর্তী লাইনটিকেও উপেক্ষা করবে rem ^
, কারণ ^
অক্ষরটি লাইন বিরতি থেকে রক্ষা পাবে এবং পরবর্তী লাইনটি একটি মন্তব্য হিসাবে বিবেচিত হবে rem
।
লাইন bash
উপেক্ষা করার জন্য cmd
, একাধিক উপায় আছে। আমি এটি না ভেঙে কিছু করার জন্য কিছু উপায় গণনা করেছি cmd
আদেশগুলি :
অস্তিত্বহীন #
কমান্ড (প্রস্তাবিত নয়)
স্ক্রিপ্টটি #
চালু cmd
হওয়ার সময় যদি কোনও কমান্ড উপলব্ধ না থাকে তবে আমরা এটি করতে পারি:
echo 'Hello bash!'
#
শুরুতে চরিত্র cmd
লাইন তোলে bash
একটি মন্তব্য হিসাবে যে লাইন আচরণ।
#
শেষে চরিত্র bash
লাইন মন্তব্য করতে ব্যবহার করা হয় \r
, চরিত্র হিসাবে ব্রায়ান Tompsett মধ্যে নির্দিষ্ট তার উত্তর । এটি ছাড়া, bash
যদি ফাইলটির \r\n
লাইন শেষ হয় তবে এটির একটি ত্রুটি ছুঁড়ে দেবে cmd
।
করার মাধ্যমে # 2>nul
, আমরা cmd
কিছু অস্তিত্বহীন #
কমান্ডের ত্রুটি উপেক্ষা করার চেষ্টা করছি , তবুও নিম্নলিখিত আদেশটি কার্যকর করা হচ্ছে।
যদি কোনও #
কমান্ড উপলব্ধ থাকে PATH
বা যদি আপনার কাছে উপলব্ধ কমান্ডগুলির উপর আপনার কোনও নিয়ন্ত্রণ না থাকে তবে এই সমাধানটি ব্যবহার করবেন না cmd
।
চরিত্রটি echo
উপেক্ষা করার জন্য ব্যবহার করা #
হচ্ছেcmd
echo
এর আউটপুটটি পুনঃনির্দেশিত এর সাথে মন্তব্য করা অংশে cmd
কমান্ড সন্নিবেশ করতে আমরা ব্যবহার করতে পারি bash
:
echo >/dev/null
echo 'Hello bash!'
যেহেতু #
চরিত্রটির কোনও বিশেষ অর্থ নেই cmd
, তাই এটি পাঠ্যের অংশ হিসাবে বিবেচিত হবে echo
। আমাদের যা করতে হয়েছিল তা হ'ল echo
কমান্ডের আউটপুট পুনর্নির্দেশ করা এবং এর পরে অন্যান্য কমান্ড সন্নিবেশ করানো।
খালি #.bat
ফাইল
echo >/dev/null
echo 'Hello bash!'
echo >/dev/null # 1>nul 2> #.bat
লাইন একটি খালি সৃষ্টি #.bat
ফাইল থাকাকালীন cmd
(অথবা প্রতিস্থাপন বিদ্যমান #.bat
, যদি থাকে), এবং কিছুই না থাকাকালীনbash
।
এই ফাইলটি cmd
লাইন (গুলি) দ্বারা ব্যবহৃত হবে যা এরপরে অন্য কোনও #
কমান্ড থাকলেও অনুসরণ করবে PATH
।
del #.bat
কমান্ড cmd
-specific কোড তৈরি করা হয়েছে যে ফাইল মুছে ফেলা হবে। আপনাকে কেবল শেষ cmd
লাইনে এটি করতে হবে ।
যদি কোনও #.bat
ফাইল আপনার বর্তমান কার্যক্ষম ডিরেক্টরিতে থাকতে পারে তবে এই সমাধানটি ব্যবহার করবেন না কারণ সেই ফাইলটি মোছা হবে।
পুনরুদ্ধার করা: আদেশগুলি উপেক্ষা করতে এখানে-নথি ব্যবহার cmd
করাbash
:; echo 'Hello bash!';<<:
echo Hello cmd! & ^
:
^
চরিত্রটি cmd
রেখার শেষে রেখে আমরা লাইন ব্রেকটি এড়াতে চলেছি এবং :
এখানে-নথির ডিলিমিটার হিসাবে ব্যবহার করে , ডিলিমিটার লাইনের সামগ্রীগুলির কোনও প্রভাব পড়বে না cmd
। এইভাবে, cmd
লাইনটি শেষ হওয়ার পরে কেবল তার রেখাটি কার্যকর করা হবে :
, একই আচরণ করেbash
।
আপনি যদি উভয় প্ল্যাটফর্মে একাধিক লাইন রাখতে চান এবং কেবলমাত্র ব্লকের শেষে এগুলি সম্পাদন করতে চান, আপনি এটি করতে পারেন:
:;(
:; echo 'Hello'
:; echo 'bash!'
:; );<<'here-document delimiter'
(
echo Hello
echo cmd!
) & rem ^
here-document delimiter
যতক্ষণ না cmd
হুবহু কোনও লাইন নেই here-document delimiter
, এই সমাধানটি কাজ করা উচিত। আপনি here-document delimiter
অন্য কোনও পাঠ্যে পরিবর্তন করতে পারেন ।
উপস্থাপিত সমস্ত সমাধানে, কমান্ডগুলি কেবলমাত্র শেষ পংক্তির পরে কার্যকর করা হবে , যদি তারা উভয় প্ল্যাটফর্মে একই কাজ করে তবে তাদের আচরণকে সামঞ্জস্য করে তোলে।
এই সমাধানগুলি অবশ্যই \r\n
লাইন ব্রেক হিসাবে ফাইলগুলিতে সংরক্ষণ করতে হবে, অন্যথায় তারা কাজ করবে না cmd
।