বিল্টিন কমান্ড ব্যাশে কী করে?


35

আমি জানি একটি বিল্টিন কমান্ড কী, তবে builtinনিজেই কী করে ? নির্বাহ which lsশো আমাকে /bin/lsকিন্তু নির্বাহ which builtinআয় নেই।

man builtinআমাকে বিল্টিন কমান্ডগুলির একটি তালিকা দেয়, যার মধ্যে একটি builtin। ম্যান পৃষ্ঠাটির বাকী অংশটি একটি বিল্টিন কী তা ব্যাখ্যা করে তবে কী builtinতা নয়।

builtin --helpআমাকে বলে builtin: usage: builtin [shell-builtin [arg ...]]কিন্তু এখনও কি করে তা করে না।

অন্যান্য বিল্টিন কমান্ড না হয় এমনভাবে কী এটি বাশের অংশ?


3
আপনি ভুলে গেছেন help builtin
ইগনাসিও ওয়াজকেজ-আব্রামস

3
which builtinকোনও ফলাফল দেয় না, কারণ বাহ্যিক আদেশেরwhich অবস্থানের প্রতিবেদন করে । আপনি যদি শেলটি জিজ্ঞাসা করেন , এটি আপনাকে বলবে, আশ্চর্যজনকভাবে, এটি । একইভাবে পাবেন , ইত্যাদিtype builtinbuiltin is a shell builtinaliasset
টবি Speight

1
builtin help builtin
theonlygusti

উত্তর:


50

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

উদাহরণস্বরূপ, ধরা যাক আপনি cdপ্রতিবার ডিরেক্টরিগুলি পরিবর্তন করে কিছু অতিরিক্ত স্থিতি মুদ্রণের জন্য নামের শেল ফাংশনটি সংজ্ঞায়িত করেছেন । তবে আপনি এটিকে গোলযোগ করেছেন এবং এখন আপনি ডিরেক্টরিগুলি সঠিকভাবে পরিবর্তন করতে পারবেন না। সুতরাং এখন আপনি builtin cd ~আপনার ভাঙা শেল ফাংশনটি চালিয়ে না করে সফলভাবে নিজের হোম ডিরেক্টরিতে সিডি করতে পারেন ।

এবং যাইহোক, আমার ব্যাশ ম্যান পৃষ্ঠার অনুলিপিটিতে "শেল বিল্টিন কম্যান্ডস" নামে একটি বিভাগ রয়েছে এবং এটি builtinsection বিভাগের কমান্ডটির অর্থ সংজ্ঞায়িত করেছে (নীচে প্রতিলিপি)।

বিল্টিন শেল-বিল্টিন [যুক্তি]

    নির্দিষ্ট শেল অন্তর্নির্মিত কার্যকর, এটি আর্গুমেন্ট পাস, এবং
    তার প্রস্থান স্থিতি ফিরে। কোনও ফাংশন সংজ্ঞায়িত করার সময় এটি দরকারী
    যার নামটি শেল বিল্টিনের সমান, এটি ধরে রাখা
    ফাংশনের মধ্যে অন্তর্নির্মিত কার্যকারিতা। সিডি বিল্টিনটি হ'ল
    সাধারণত এইভাবে নতুন সংজ্ঞা দেওয়া হয়।

    শেল-বিল্টিন শেল বিল্টিন না থাকলে রিটার্নের স্থিতিটি মিথ্যা false
    কমান্ড।

14
চমৎকার উত্তর. তবে আমাকে অবাক করে তোলে, আপনি কীভাবে নিশ্চিত হতে পারেন যে builtinআদেশটি বাশ থেকে আসল বিল্টিন?
প্যাকোপাকো

14
@ প্যাকোপাকো: আপনি পারবেন না :-)। আপনি করতে পারেন ওভাররাইড builtinখুব: function builtin { echo "Hi from builtin :-)"; }। তারপরে builtinআর কাজ হয় না।
sleske

12
@Pacopaco, type builtinআপনাকে বলতে হবে কিনা এটা বাস্তব builtin। যদি না typeএকটি অ-builtin দিয়ে প্রতিস্থাপিত করা হয়েছে type...
টবি Speight

10
ওহ ... দুর্ভাগ্যক্রমে একটি করতে পারেন: ওরফে আনসেট = "ইকো আনসেটটি ওভাররাইড করা হয়েছে"; ওরফে ওরফে = "প্রতিধ্বনি ওরফে ওভাররাইড করা হয়েছে" ... সুতরাং এখানে ভাগ্য নেই।
অলিভিয়ার ডুলাক

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