পিডাব্লুডি - ফিজিক্যাল এর মতো দীর্ঘ বিকল্পগুলি কেন গ্রহণ করে না?


11

pwdকমান্ডের জন্য আমি যখন ম্যানুয়ালটি প্রদর্শন করি তখন এটি বলছে যে দীর্ঘ বিকল্পগুলি যেমন --physicalসমর্থিত

$ man pwd
PWD(1)                           User Commands                          PWD(1)

NAME
       pwd - print name of current/working directory

SYNOPSIS
       pwd [OPTION]...

DESCRIPTION
       Print the full filename of the current working directory.

       -L, --logical
              use PWD from environment, even if it contains symlinks

       -P, --physical
              avoid all symlinks

যাইহোক, আমি নিম্নলিখিত টাইপ করলে এটি ব্যর্থ হয়

$ pwd --physical
-bash: pwd: --: invalid option
pwd: usage: pwd [-LP]

দীর্ঘ বিকল্প কেন আমার পক্ষে কাজ করছে না?

আমি RHEL 6.4 ব্যবহার করছি। পিডাব্লুডির জন্য কোনও উপন্যাস কনফিগার করা হয়নি। দেখে মনে হচ্ছে এটি প্রমিত পিডব্লিউড:

$ which pwd
/bin/pwd

1
ম্যানুয়াল পৃষ্ঠাটি স্বতন্ত্র ইউটিলিটির জন্য যা বাশের অংশ নয়।
থমাস ডিকি

7
typeপরিবর্তে ব্যবহার করুন which, যেহেতু whichকেবল কমান্ডগুলি দেখায়, যখন typeকীওয়ার্ডগুলি, বিল্টিনগুলি, উপাধিগুলি, ফাংশনগুলি এবং কমান্ডগুলি (এবং হ্যাশ কমান্ড পাথগুলি) দেখায়। আরও তথ্যের জন্য দেখুন কেন "কোন" ব্যবহার করবেন না? তাহলে কী ব্যবহার করবেন?
wjandrea

1
আমার সিস্টেমে man pwdনিম্নলিখিত নোট রয়েছে: বিভাগের your shell may have its own version of pwd, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supportsনীচে DESCRIPTION
Nykakin

উত্তর:


26

bashএকটি বিল্ট-ইন কমান্ড রয়েছে pwdযা আপনি pwdনিজের শেলটিতে কেবল টাইপ করার সময় আপনি ব্যবহার করছেন ।

pwdম্যানপেজ দ্বারা বর্ণিত হিসাবে পেতে , আপনাকে বাহ্যিক কমান্ডের জোর ব্যবহার করতে হবে। আপনি এক্সিকিউটেবলের ( /bin/pwdআপনার ক্ষেত্রে) পুরো পথ নির্দিষ্ট করে বা envলাইনের পূর্বে প্রিপেন্ড করে env pwdএটি envকরতে পারেন: যা কমান্ডটি শুরু করে যা পরিবেশে সেটিংস যোগ করতে ব্যবহৃত হতে পারে (তবে এখানে যা করা হয় না) এবং তারপরে envশুরু হয় কমান্ড নির্দিষ্ট। যেমন envকোনও বিল্টিন নেই pwd, "আসল" /bin/pwdকার্যকর হয়।

pwdবাশ- এ বিল্টিনের সুবিধাটি হ'ল bashবর্তমান ডিরেক্টরিটি ট্র্যাক করে রাখে, সুতরাং মান পাওয়া শূন্য খরচে হয়, অন্যদিকে বাহ্যিক কমান্ডের জন্য পথটি নির্ধারণের জন্য ফাইল-সিস্টেমের মাধ্যমে অনুসন্ধান করা প্রয়োজন যা অনেক বেশি IO নিবিড় is


4
বাহ্যিক কমান্ড আসলে কীভাবে কাজ করে তা তা নয়। unix.stackexchange.com/a/413225/5132
JdeBP

বিটিডাব্লু: আপনি শেল বিল্টিন (কমপক্ষে enable -n pwd
ব্যাশে

@ জেডিবিপি এটি সর্বশেষবার যখন দেখলাম তখন ব্যবহার করতাম (অনেক আগে :-)); এবং এখন এটি getcwd()সিস্টেম কল ব্যবহার করে , কার্নেলটি এখনও ফাইল সিস্টেমটিকে অনুসরণ করে যা প্রাসঙ্গিক ডেটা কাঠামোগুলিতে অ্যাক্সেসের কারণে কার্নেল স্পেসে করা সহজ, লিঙ্কযুক্ত উত্তরে বলা হয়েছে: "তবে, নোট করুন এমনকি ফ্রিবিএসডি এবং অন্য অপারেটিংগুলিতে সিস্টেমে কার্নেল ওয়ার্কিং ডিরেক্টরিটি স্ট্রিং সহ রাখে না। "
wurtel

11

এই ম্যানপেজ নথিগুলি /bin/pwd, তবে আপনি যখন চালাবেন pwdআপনি শেলটি বিল্ট ইন ব্যবহার করছেন; এর আউটপুট দেখুন

type pwd

আপনার শেলটির অন্তর্নির্মিত pwdদীর্ঘ বিকল্পগুলি সমর্থন করে না (আপনার শেলের ডকুমেন্টেশন দেখুন; যেহেতু আপনি বাশ ব্যবহার করছেন, help pwdএকটি সংক্ষিপ্তসার সরবরাহ করবে)।

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