$ পিডব্লিউডি কী? (বনাম বর্তমান ওয়ার্কিং ডিরেক্টরি)


27

সুতরাং উইকিপিডিয়া ( লিঙ্ক ) আমাকে বলে যে কমান্ডটি pwd"প্রিন্ট ওয়ার্কিং ডিরেক্টরি" এর জন্য সংক্ষিপ্ত, এবং এটি উপলব্ধি করে।

কিন্তু পরিবেশের পরিবর্তনশীলগুলির জন্য, "পি" মুদ্রণ ব্যতীত অন্য কোনও কিছুর জন্য একটি সংক্ষিপ্ত রূপ হতে হবে।

আমি লোকদের "বর্তমান ওয়ার্কিং ডিরেক্টরি" সম্পর্কে কথা বলতে শুনি, যা আরও ভাল বলে মনে হয় এবং আরও স্বজ্ঞাত, তবে এখনও পরিবেশের পরিবর্তনশীলটিকে $ পিডাব্লুডি বলা হয়, $ সিডাব্লুডি বলে মনে হয় না। কেউ কখনও বলে না "আপনি কি প্রিন্ট ওয়ার্কিং ডিরেক্টরি ভেরিয়েবলটি পরীক্ষা করেছেন?"

আমি বর্তমানে ওয়েব অ্যাপ্লিকেশন সার্ভার uWSGI এর সাথে ঘুরে বেড়াচ্ছি, এবং এটি চালানোর সময় আমাকে বলবে (uWSGI পরিসংখ্যানের পৃষ্ঠায়):

"cwd":"/home/velle/greendrinks",

সুতরাং তারা স্পষ্টতই (আরও স্বজ্ঞাত সংক্ষিপ্ত রূপ) পছন্দ cwdকরে pwd

আমি অনুমান করি যে আমি কিছু ভুল বুঝেছি কিনা তা বোঝার চেষ্টা করছি, বা যদি পরিবেশের পরিবর্তনশীলটিকে একটি অপরিবর্তিত নাম দেওয়ার বিষয়টি কী?


5
বর্তমান কাজের ডিরেক্টরি?
ডারিওপি

3
আমার সন্দেহ হয় আপনি এটিকে মাত্রাতিরিক্ত বোঝাচ্ছেন। $PWDসমতুল্য `pwd`, এবং এটি যথেষ্ট ন্যায়সঙ্গত ছিল।
সেই অন্য লোকটি

1
অন্য অনুমান: প্রক্রিয়া ওয়ার্কিং ডিরেক্টরি?
oxfn

উত্তর:


23

এটি আপনি যা করছেন তার উপর নির্ভর করে। প্রথমত, $PWDএকটি পরিবেশের পরিবর্তনশীল এবং pwdএটি একটি শেল বিল্টিন বা প্রকৃত বাইনারি:

$ type -a pwd
pwd is a shell builtin
pwd is /bin/pwd

এখন, ব্যাশ বিল্টিনটি কেবলমাত্র বর্তমান মানটি মুদ্রণ করবে $PWDযতক্ষণ না আপনি -Pপতাকা ব্যবহার করেন । হিসাবে ব্যাখ্যা করা হয়েছে help pwd:

pwd: pwd [-LP]

    বর্তমান কার্যকারী ডিরেক্টরিটির নাম মুদ্রণ করুন।

    বিকল্প:

      -L
          $PWD এটি বর্তমান ওয়ার্কিং ডিরেক্টরিকে নাম হিসাবে মান প্রিন্ট করুন
      -P
          কোনও প্রতীকী লিঙ্ক ছাড়াই, দৈহিক ডিরেক্টরি মুদ্রণ করুন

    ডিফল্টরূপে, 'pwd' এমন আচরণ করে যেমন '-L' নির্দিষ্ট করা আছে।

pwdবাইনারি, অপরপক্ষে, মাধ্যমে বর্তমান ডিরেক্টরির পায় getcwd(3)সিস্টেম কল যা একই মান readlink -f /proc/self/cwd। উদাহরণস্বরূপ, এমন ডিরেক্টরিতে যাওয়ার চেষ্টা করুন যা অন্যটির লিঙ্ক:

$ ls -l
total 4
drwxr-xr-x 2 terdon terdon 4096 Jun  4 11:22 foo
lrwxrwxrwx 1 terdon terdon    4 Jun  4 11:22 linktofoo -> foo/
$ cd linktofoo
$ echo $PWD
/home/terdon/foo/linktofoo
$ pwd
/home/terdon/foo/linktofoo
$ /bin/pwd
/home/terdon/foo/foo

সুতরাং, উপসংহারে, জিএনইউ সিস্টেমে (যেমন উবুন্টু), pwdএবং echo $PWDআপনি -Pবিকল্পটি ব্যবহার না করে সমতুল্য , তবে /bin/pwdভিন্ন এবং ভিন্ন আচরণ pwd -P

উত্স /ubuntu//a/476633/291937


1
@ লুলুয়া কিছুই PWDপরিবেশের পরিবর্তনশীল হতে নিষেধ করে। সমস্ত শাঁস না হলে এটি বেশিরভাগ ক্ষেত্রেই ডিফল্ট কেস এবং এটি শিশুদের প্রক্রিয়াগুলিতে সরবরাহ করার জন্য অর্থবোধ করে।
jlliagre

1
আমি অবাক হয়েছি কেন লোকেরা হ্রাস পেয়েছে, এটি একটি উত্তরের মতো বলে মনে হচ্ছে এবং পুঙ্খানুপুঙ্খভাবে ব্যাখ্যা করা হয়েছে।
ম্যাডস স্কজার্ন

2
@ ম্যাডসস্কার্ন বেশিরভাগ বিল্টিনগুলি কমান্ড হিসাবে উপলভ্য হওয়ার জন্য পসিএক্স স্ট্যান্ডার্ড দ্বারা প্রয়োজনীয়। এটি শেল আরম্ভ না করেই অন্যান্য প্রোগ্রাম থেকে সরাসরি তাদের কল করার অনুমতি দেয়।
jlliagre

2
এটি সত্যই আমাকে প্রশ্নের উত্তর দেয় না। প্রশ্ন সত্যিই ভিন্নতা নিয়ে নয় $PWDএবং pwd(যা ইতিমধ্যে ইউ & এল সামনে আমি বিশ্বাস করি উপর আচ্ছাদিত করা হয়েছে), কিন্তু কারন যা পরিবর্তনশীল "নামকরণের নেতৃত্বে সম্পর্কে PWD"।
জন ডব্লিউ এইচ স্মিথ

1
@ থুশি আপনি সম্ভবত সঠিকর চেয়ে বেশি। পিডাব্লুডিটি ksh88কোন নথি দ্বারা এটি প্রবর্তিত হয়েছিল : PWD The present working directory set by the cd command.আপনার উত্তরটিতে এটি যুক্ত করা উচিত।
jlliagre

15

$ গণপূর্ত হয় পি বর্তমান athname ডব্লিউ orking ডি irectory

যখন আছে সিম্বলিক লিংক কমান্ড নির্বাহ থেকে $ গণপূর্ত পড়া থেকে ভিন্ন ফলাফল হতে পারে PWD


তুমি কেমন একটি উদাহরণ জন্য আলাদা মান পেতে দিতে পারে $PWDএবং pwd?
ম্যাডস স্কজার্ন

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