আপনার অন্যান্য প্রশ্নগুলি থেকে আমি এটি গ্রহণ করি যে আপনি ওএস এক্স ব্যবহার করছেন OS উভয় নাম একই ফাইলে পাবেন। সাইগউইনের অধীনে বা কেস-সংবেদনশীল ফাইল সিস্টেমগুলির সাথে (FAT32 বা ciopfs এর মতো ) কোথাও একই জিনিস ঘটতে পারে ।
কারণ grep
একটি বাস্তব নির্বাহযোগ্য, এটি ফাইল সিস্টেমে সন্ধান করা হয় (ডিরেক্টরিতে PATH
)। যখন আপনার শেল সৌন্দর্য /usr/bin
পারেন জন্য grep
বা GREP
এটা পাবেন grep
এক্সিকিউটেবল।
শেল builtins হয় না ফাইলসিস্টেম-এর দিকে তাকিয়ে: কারণ তারা সালে নির্মিত করছি, তারা শেল নিজে এর ভিতরে (কেস সংবেদনশীল) স্ট্রিং তুলনা সাহায্যে চালু হয়।
আপনি যা মুখোমুখি হচ্ছেন তা একটি আকর্ষণীয় ঘটনা। যদিও cd
এটি বিল্টিন, অ্যাক্সেসড কেস-সংবেদনশীলভাবে, CD
এক্সিকিউটেবল হিসাবে পাওয়া যায় /usr/bin/cd
। cd
এক্সিকিউটেবল চমত্কার অনর্থক কারণ cd
বর্তমান শেল সঞ্চালনের পরিবেশ প্রভাবিত করে, এটা সবসময় একটি শেল হিসাবে প্রদান করা হয় নিয়মিত বিল্ট-ইন , কিন্তু একটা হয় cd
এক্সিকিউটেবল POSIX দোহাই জন্য যাহাই হউক না কেন, যা নিজেই জন্য ডিরেক্টরি পরিবর্তন এবং তারপরে সঙ্গে সঙ্গে বন্ধ, পার্শ্ববর্তী শেল যাব যেখানে এটি শুরু হয়েছিল।
আপনি type
বিল্টিন দিয়ে এটি ব্যবহার করে দেখতে পারেন :
$ type cd
cd is a shell builtin
$ type CD
CD is /usr/bin/CD
type
আপনি যখন আদেশটি চালাবেন তখন শেলটি কী করবে তা আপনাকে জানায়। আপনি চালনা করার সময় আপনি cd
বিল্টিন অ্যাক্সেস করেন CD
তবে এক্সিকিউটেবলকে খুঁজে পান। অন্যান্য বিল্টিনগুলির জন্য, বিল্টিন এবং এক্সিকিউটেবল যুক্তিসঙ্গতভাবে সামঞ্জস্যপূর্ণ হবে (চেষ্টা করুন echo
), তবে cd
এটি সম্ভব নয়।
alias GREP
বাwhich GREP
আউটপুট কিছু।