"অবচয়" এর দুটি আলাদা অর্থ রয়েছে।
অবমূল্যায়ন করা হবে: (মূলত একটি সফ্টওয়্যার বৈশিষ্ট্য) কার্যকর হতে পারে তবে অপ্রচলিত এবং সেরা এড়ানো হিসাবে বিবেচিত হয়, সাধারণত বরখাস্ত হওয়ার কারণে।
Oxনিউজ অক্সফোর্ড আমেরিকান ডিকশনারি
এই সংজ্ঞা দ্বারা ব্যাকটিকগুলি হ্রাস করা হয় ।
অবহেলিত স্থিতিটি ভবিষ্যতে বৈশিষ্ট্যটি সরানো হবে তাও নির্দেশ করতে পারে।
- উইকিপিডিয়া
এই সংজ্ঞা দ্বারা ব্যাকটিকগুলি হ্রাস করা হয় না ।
এখনও সমর্থিত:
Citing উপর শেল কমান্ড ভাষাসমূহ ওপেন গ্রুপ স্পেসিফিকেশন , নির্দিষ্টভাবে অধ্যায় "2.6.3 কমান্ড উপকল্পন," এটা দেখা যায় যে, ব্যাকটিক (কমান্ড প্রতিকল্পন উভয় ফর্ম `..cmd..`
) অথবা ডলার ডান বন্ধনী ( $(..cmd..)
) এখনও যতটুকু সমর্থিত যেমন স্পেসিফিকেশন যায়।
উদ্ধৃতাংশ
কমান্ড প্রতিস্থাপন কমান্ডের নামের পরিবর্তে একটি কমান্ডের আউটপুট প্রতিস্থাপন করতে দেয়। কমান্ড প্রতিস্থাপন ঘটবে যখন কমান্ডটি নিম্নরূপে আবদ্ধ থাকে:
$(command)
or (backquoted version):
`command`
শেলটি সাব-শেল এনভায়রনমেন্ট (শেল এক্সিকিউশন এনভায়রনমেন্ট দেখুন) কমান্ড সাবস্টিটিউশন (কমান্ডের টেক্সট প্লাস এনক্লোজিং $()
বা ব্যাককোটিস) এর পরিবর্তে এক বা একাধিক ক্রম সরিয়ে কমান্ড প্রতিস্থাপনকে প্রসারিত করবে বিকল্পের শেষে <নিউলাইন> অক্ষর। আউটপুট শেষ হওয়ার আগে এম্বেড করা <নিউলাইন> অক্ষরগুলি সরানো হবে না; তবে, ফিল্ড বিভাজনের সময় এগুলিকে ফিল্ড ডিলিমিটার হিসাবে বিবেচনা করা যেতে পারে এবং আইএফএসের মান এবং কার্যকরভাবে উদ্ধৃত হওয়া উদ্ধৃতির উপর নির্ভর করে ক্ষেত্র বিভাজনের সময় নির্মূল করা যেতে পারে। যদি আউটপুটে কোনও নাল বাইট থাকে তবে আচরণটি অনির্দিষ্ট।
কমান্ড প্রতিস্থাপনের ব্যাককোটিড স্টাইলের মধ্যে, <ব্যাকস্ল্যাশ> এর আক্ষরিক অর্থ ধরে রাখতে হবে, কেবল তার পরে তা অনুসরণ করা হবে: '$', ' \`
', বা <ব্যাকস্ল্যাশ> । মিলে যাওয়া ব্যাককোটির জন্য অনুসন্ধানটি প্রথম অনাবৃত অ-পালানো ব্যাককোট দ্বারা সন্তুষ্ট হবে; এই অনুসন্ধানের সময়, যদি শেল মন্তব্য, একটি এখানে-নথি, $(command)
ফর্মের এমবেডড কমান্ড প্রতিস্থাপন , বা উদ্ধৃত স্ট্রিংয়ের মধ্যে যদি কোনও অব্যাহতিপ্রাপ্ত ব্যাককোটের মুখোমুখি হয় তবে অপরিজ্ঞাত ফলাফল আসে। একটি একক-উদ্ধৃত বা ডাবল-কোটেড স্ট্রিং শুরু হয়, তবে শেষ হয় না, `...`
ক্রমটির মধ্যেই অপরিবর্তিত ফলাফল আসে।
সঙ্গে $(command)
ফর্ম, ম্যাচিং সমাপনী প্রথম বন্ধনী খোলা প্রথম বন্ধনী নিম্নলিখিত সমস্ত অক্ষর কমান্ড গঠন করে। কোনও বৈধ শেল স্ক্রিপ্ট কমান্ডের জন্য ব্যবহার করা যেতে পারে, কেবলমাত্র পুনর্নির্দেশের সমন্বিত কোনও স্ক্রিপ্ট যা অনির্দিষ্ট ফলাফল দেয়।
তাহলে কেন সবাই বলছেন যে ব্যাকটিকগুলি হ্রাস করা হয়েছে?
কারণ বেশিরভাগ ব্যবহারের ক্ষেত্রে ব্যাকটিকের পরিবর্তে ডলারের প্যারেন ফর্মটি ব্যবহার করা উচিত । (উপরের প্রথম অর্থে অবজ্ঞাত।) সর্বাধিক নামী সাইটগুলি (ইউঅ্যান্ডএল সহ) প্রায়শই এটি বর্ণনা করে, তাই এটি দুর্দান্ত পরামর্শ। এই পরামর্শটি শেল থেকে ব্যাকটিক্সের জন্য সমর্থন অপসারণ করার জন্য কিছু অস্তিত্বহীন পরিকল্পনার সাথে বিভ্রান্ত হওয়া উচিত নয়।
বাশফাক # 082 - কেন $ (...) `...` (ব্যাকটিক্স) এর চেয়ে বেশি পছন্দ?
উদ্ধৃতাংশ
`...`
নন-পসিক্স-সামঞ্জস্যপূর্ণ বোর্ন শেলগুলির মধ্যে কেবল অতি প্রাচীনতমের জন্য প্রয়োজনীয় লিগ্যাসি সিনট্যাক্স। সর্বদা $(...)
সিনট্যাক্স পছন্দ করার বিভিন্ন কারণ রয়েছে :
...
বাশ হ্যাকার উইকি - অপ্রচলিত এবং অবচিত সিনট্যাক্স
উদ্ধৃতাংশ
এটি কমান্ড প্রতিস্থাপনের পুরানো বোর্ন-সামঞ্জস্যপূর্ণ ফর্ম । উভয় `COMMANDS`
এবং $(COMMANDS)
সিনট্যাক্সগুলি পসিক্স দ্বারা নির্দিষ্ট করা হয়েছে, তবে পরবর্তীটি বেশিরভাগ ক্ষেত্রেই পছন্দ করা হয়, যদিও পূর্বসূরি দুর্ভাগ্যক্রমে এখনও স্ক্রিপ্টগুলিতে খুব প্রচলিত। নতুন স্টাইলের কমান্ড বিকল্পগুলি প্রতিটি আধুনিক শেল (এবং তারপরে কিছু) দ্বারা ব্যাপকভাবে প্রয়োগ করা হয়। ব্যাকটিক্স ব্যবহারের একমাত্র কারণ হ'ল আসল বোর্ন শেলের (হেরলুমের মতো) সাথে সামঞ্জস্যতা। ব্যাকটিক কমান্ড প্রতিস্থাপনের জন্য নেস্ট করা হলে বিশেষ পালানোর প্রয়োজন হয় এবং বন্যের মধ্যে পাওয়া উদাহরণগুলি যথাযথভাবে উদ্ধৃত হয় না often দেখুন:
কেন $ (...) ... ... `(ব্যাকটিক্স) এর চেয়ে বেশি পছন্দ করা হচ্ছে? ।
পসিক্স স্ট্যান্ডার্ড যুক্তি
উদ্ধৃতাংশ
এই অসামঞ্জস্যপূর্ণ আচরণের কারণে, নতুন অ্যাপ্লিকেশনগুলির জন্য নীচে কমান্ডের বিকল্প বা জটিল স্ক্রিপ্টগুলি এম্বেড করার চেষ্টা করার জন্য কমান্ড প্রতিস্থাপনের ব্যাককোটিড বিভিন্ন প্রস্তাব দেওয়া হয় না।
দ্রষ্টব্য: এই তৃতীয় অংশটি (উপরে) বেশ কয়েকটি পরিস্থিতি প্রদর্শন করতে চলেছে যেখানে ব্যাকটিকগুলি কেবল কাজ করবে না, তবে নতুন ডলার প্যারেন্স পদ্ধতিটি নিম্নলিখিত অনুচ্ছেদে শুরু করে:
অতিরিক্তভাবে, ব্যাককোয়াট সিনট্যাক্সের এম্বেড করা কমান্ডের সামগ্রীতে historicalতিহাসিক বিধিনিষেধ রয়েছে। যদিও নতুন "$ ()" ফর্মটি যে কোনও ধরণের বৈধ এম্বেড থাকা স্ক্রিপ্টটি প্রক্রিয়া করতে পারে, ব্যাককোটিড ফর্মটি এমন কিছু বৈধ স্ক্রিপ্টগুলি পরিচালনা করতে পারে না যাতে ব্যাককোটগুলি অন্তর্ভুক্ত থাকে।
আপনি যদি এই বিভাগটি পড়া চালিয়ে যান তবে ব্যর্থতাগুলি কীভাবে ব্যাকটিকগুলি ব্যবহার করতে ব্যর্থ হবে তা হাইলাইট করা হয় তবে নতুন ডলার প্যারেনস স্বরলিপি ব্যবহার করে কাজ করেন।
উপসংহার
সুতরাং আপনি ব্যাকটিক্সের পরিবর্তে ডলারের প্যারেন ব্যবহার করা পছন্দনীয় তবে আপনি প্রযুক্তিগতভাবে "অবহেলিত" এমন কিছু ব্যবহার করছেন না যেমন "পরিকল্পিত কিছু সময়ে এটি পুরোপুরি কাজ করা বন্ধ করে দেবে।"
এই সমস্ত কিছু পড়ার পরে আপনার অব্যাহতি নিতে হবে যে আপনি ডলার প্যারেন ব্যবহার করার জন্য উত্সাহিত হয়েছেন যদি না আপনি নির্দিষ্টভাবে একটি আসল মূল নন-পসিক্স বোর্ন শেলের সাথে সামঞ্জস্যতার প্রয়োজন হয়।
cd
একটি ডিরেক্টরিতে কেন উদাহরণের জন্য$(...)
স্বরলিপি নেস্টেড ব্যাক কোট ছাড়া ব্যবহার করা সহজ।