কেন 'ইকো - হেল্প' আমাকে প্রতিধ্বনির পৃষ্ঠায় সহায়তা দেয় না?


20

আমি ব্যাশে 'ম্যান ইকো' চেষ্টা করেছিলাম এবং এটি আমাকে বলেছিল যে 'ইকো - হেল্প' তার পরে প্রস্থান করতে সহায়তা প্রদর্শন করবে এবং একইভাবে, 'ইকো - রূপান্তর' সংস্করণ আউটপুট এবং প্রস্থান করবে। কিন্তু কেন এটি কাজ করে না? 'ইকো - হেল্প' কেবল আক্ষরিকভাবে '- সহায়তা' প্রিন্ট করে।


2
নোট করুন যে দ্বারা সহায়তা বার্তা উত্পাদন echo --helpএকটি বাগ । আপনি যদি করেন তবে কী ঘটে তা কল্পনা করুন: printf "The option you entered is: " ; echo "$opt"এবং শেল ভেরিয়েবলটি optপাঠ্যটি ধারণ করে --help। পসিক্স স্ট্যান্ডার্ড অনুযায়ী, echoএইভাবে আচরণ করার অনুমতি দেওয়া হয় না তবে জিএনইউ প্রতিধ্বনির বিষয়টি অহঙ্কারী।
আর ..

1
@R .. সুতরাং echo -eএবং echo -nআরো একটি বাগ, আপনার যুক্তি দ্বারা হয়?
টাইলো

@ টিইলো: পসিক্সের স্পেসিফিকেশন দেখুন, বা এখানে আমার সমস্যার কভারেজটি দেখুন: etalabs.net/sh_trick.html
আর ..

@ আর .. আপনি যদি করেন তবে কী ঘটে তা কল্পনা করুন: printf "আপনি যে বিকল্পটি লিখেছেন তা হ'ল:"; প্রতিধ্বনি "$ অপ্ট" এবং শেল ভেরিয়েবল অপ্টটিতে টেক্সট -e বা -n থাকে।
টাইলো

@ টিইলো: এটির পুনরায় ব্যাখ্যা করার পরিবর্তে আমি এমন একটি পৃষ্ঠাতে পছন্দ করেছি যেখানে আমি ইতিমধ্যে এই প্রশ্নের উত্তর ব্যাখ্যা করেছি।
আর ..

উত্তর:


26

man echoসম্পর্কিত echoপ্রোগ্রাম । অন্যান্য কিছু লোকের মতো জিএনইউ একটি বিকল্প echo সমর্থন--help করে। আপনি যখন echoবাশে দৌড়ান তখন পরিবর্তে এর বিল্টিন পাবেনecho যা তা নয়।

echoপ্রোগ্রামটি অ্যাক্সেস করতে , বিল্টিনের পরিবর্তে, আপনি এটির জন্য একটি পথ দিতে পারেন:

/bin/echo --help

বা অন্তর্নির্মিত সংস্করণটি অক্ষম করতে বাশের enableআদেশটি ব্যবহার করুন :

$ enable -n echo
$ echo --help

বাশের অনেকগুলি বেসিক কমান্ডগুলির অন্তর্নির্মিত সংস্করণ রয়েছে, কারণ এটি করা কিছুটা দ্রুত তবে আপনি যখন প্রয়োজন তখন আপনি সর্বদা এটিকে এড়াতে পারেন।


ব্যবহারের জন্য আমার সঠিক সেবা করে zshenableকাজ করে, যদিও।
মাইকেল হোমার

@ মিশেলহোমার তাই কিছু অন্তর্নির্মিত সংস্করণটি ... মূলগুলি থেকে আলাদা হতে পারে? যদি মতভেদ থাকে, তবে 'ইকো প্রোগ্রাম' সহ আপনি উল্লিখিত সমস্ত মূল কমান্ডের নাম কী? বা অন্তর্নির্মিত সংস্করণগুলি থেকে আলাদা করার জন্য আমরা কোন শব্দটি ব্যবহার করি?
বুকসী

1
@ বুকসি: হ্যাঁ, তারা পৃথক হতে পারে। গনুহ echoবিশেষ করে POSIX উপরে এক্সটেনশন অনেক আছে, এবং ব্যাশ এর echoমাত্র কয়েক। সত্যিই কোনও সাধারণ নাম নেই যা আমি কমান্ডগুলির জন্য ভাবতে পারি যা বিল্টিনদের দ্বারা ছায়া দেওয়া হতে পারে। তাই অনেক আপনি এক প্রয়োজন চাই নয়: echo, test, [, এবং pwdবেশী আপনি সম্মুখীন করার সম্ভাবনা বেশি করছি হয়।
মাইকেল হোমার

@ জ্নুক: হ্যাঁ, commandস্পষ্টভাবে কল বিল্টইন সর্বদা করে। আমি জানি না আমি কী ভাবছিলাম, zshঅন্য যেভাবে কাজ করে তা ছাড়া।
মাইকেল হোমার

2
, হ্যাঁ, বলছি "নিষ্ক্রিয় করতে ব্যাশ এর সক্ষম কমান্ড ব্যবহার" যে ভালো হয়
Braiam


8

আপনি echoব্যাশের অন্তর্নির্মিত কমান্ডটি ব্যবহার করছেন , যা --helpবিকল্পটি বোঝে না । ব্যবহার করুন:

/bin/echo --help

অন্তর্নির্মিতের জন্য সহায়তাটি দেখতে echo, ব্যবহার করুন man bashএবং অনুসন্ধান করুন echo


এটি আমার জন্য কাজ করেছে
হেডেন থ্রিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.