ইউনিক্স PATH পরিবর্তনশীল কী এবং আমি কীভাবে এতে যুক্ত করব?


11

অনেক প্রোগ্রামিং টিউটোরিয়াল ব্যবহারকারীদের তাদের কিছু যুক্ত করতে বলে PATHতবে এটি কী তা ব্যাখ্যা করে না। PATHকমান্ড লাইনে ব্যবহারকারীদের নতুন ব্যাখ্যা করা বিদ্যমান সংস্থানগুলি খুব ভাল নয়।

  • ইউনিক্স PATHভেরিয়েবল কী?

  • আমি কেবল একটি প্রোগ্রাম ডাউনলোড করেছি, তারপরে টার্মিনালে একটি কমান্ড চালানোর চেষ্টা করেছি এবং পেয়েছি command not found। এর সাথে কী করার আছে PATH?

  • আমি PATHএই আদেশের সাহায্যে কিছু যুক্ত করেছি এবং তারপরে জিনিসগুলি কাজ করেছে:

    export PATH=/path/to/some/bin:$PATH
    

    ... তবে আমি command not foundপরের বার কম্পিউটার শুরু করার পরে আবার পেয়েছি । PATHআমি যখনই টার্মিনালটি খুলি তখন এটি কীভাবে রাখব ?

  • গিটের মতো প্রোগ্রামটি gccইতিমধ্যে আমার কম্পিউটারে লোড হয়েছে কিনা তা নির্ধারণের সেরা উপায় কী ?


3
আমি এসও-তে বেশিরভাগ উত্তর পড়েছি এবং আমি এমন উত্তর খুঁজে পাইনি যা এই প্রশ্নের প্রতিটি উত্তরকে এমনভাবে উত্তর দেয় যে কোনও নবাগত বুঝতে পারে। আমি এমন কিছু চাই যা আমি নতুন কমান্ড লাইন ব্যবহারকারীদের সাথে লিঙ্ক করতে পারি। এটি আমার সম্প্রদায়ের উইকি হিসাবে যুক্ত করার এবং এটির সাথে উল্লেখযোগ্য অনুদান সংযুক্ত করার আশা ছিল।
কেভিন বার্ক

4
আমি বাজি ধরছি যদি আমি এই প্রশ্নের জন্য গুগল অনুসন্ধান করি তবে আমি 50 টি হিট পেতে পারি। আপনি কেন পারবেন না?
ট্রজানফয়ে

2
যদি কেউ একটি প্রশ্ন যোগ্যতাসম্পন্ন এর জন্য তাই সেই লিঙ্কগুলি পয়েন্ট এখানে হবে, তাহলে এটি এখানে জোড়া দিতে হবে। আমরা চাই যেখানে গুগল প্রোগ্রামিং প্রশ্নগুলির জন্য যায় S

এই প্রশ্ন জিজ্ঞাসা করতে কেভিনের অনুপ্রেরণার জন্য দয়া করে এই এমএসও পোস্টটি দেখুন । এই তথ্যটি কীভাবে সহায়ক তা পরিষ্কার করার জন্য তিনি সম্ভবত একটি সম্পাদনা করবেন।
jmort253

1
@ jmort253: ভাল, তার উচিত এটি দ্রুত করা শুরু করা উচিত। 4/5 নিকট ভোট। আমি বন্ধ করব না কারণ আমি জানি প্রশ্নটি সম্পাদনা করতে চাই তবে তিনি আরও দ্রুত এটিকে আরও দ্রুত তৈরি করতে পারেন।
মাদারার ভূত

উত্তর:


17

ইউনিক্স পাথ হল পরিবেশের পরিবর্তনশীল যা ডিরেক্টরিগুলির একটি তালিকা যা আপনি চালানোর চেষ্টা করছেন এমন প্রোগ্রামগুলির সন্ধান করতে। এটি আপনাকে চলমান জিনিসগুলির /bin/lsজন্য উদাহরণ /binহিসাবে পুরো পথের নাম ব্যবহার করা এড়াতে দেয় (উদাহরণস্বরূপ পথে রাখার দ্বারা )।

উদাহরণস্বরূপ, একটি পাথ থাকতে পারে:

/bin:/usr/bin:/usr/sbin

এবং এর অর্থ, আপনি কমান্ডটি টাইপ xyzzyকরার পরে এটি বর্তমান তালিকা থেকে পাওয়া প্রথম ফাইলটি চালানোর চেষ্টা করবে:

/bin/xyzzy
/usr/bin/xyzzy
/usr/sbin/xyzzy

(এটি চালাক হওয়ার কারণে অ-এক্সিকিউটেবল ফাইলগুলি এড়িয়ে যেতে পারে )।

আপনি কমান্ডের সাহায্যে পথে জিনিসগুলিকে যুক্ত করতে পারেন:

set PATH=/directory/to/add:$PATH:/low/priority/path

যা স্থান /directory/to/addপথ অনুসন্ধান শুরু তালিকার শুরুর দিকে, এবং /low/priority/pathশেষে।

তবে এটি কেবলমাত্র বর্তমান শেলের জন্য পরিবর্তিত হয় । আপনি প্রতি শেল মধ্যে পরিবর্তন করতে চান, আপনি, আপনার প্রারম্ভকালে ফাইল এক যে লাইন যোগ করা উচিত মত $HOME/.profileবা /etc/profile। ব্যবহারের জন্য সঠিক ফাইলটি আপনার শেল নিজেই এবং কীভাবে আপনি প্রারম্ভিক ফাইলগুলি সেট আপ করেছেন তার উপর নির্ভর করে। এটি কোথায় যেতে হবে তা বলা সর্বদা সহজ নয় তবে আপনি যে কোনও শেল ব্যবহার করছেন তার জন্য নিয়মগুলি ম্যানপেজে সাধারণভাবে ব্যাখ্যা করা হয়।

আপনি সাধারণতঃ করতে এটি এক সঙ্গে পাথ কমান্ড:

which cmd
whence cmd

cmdএক্সিকিউটেবল সনাক্ত করতে । উদাহরণস্বরূপ, আমার ডেবিয়ান সিস্টেমে আমি নিম্নলিখিত প্রতিলিপিটি পেয়েছি:

pax> which ls
/bin/ls

pax> which firefox
/usr/bin/firefox

pax> which xyzzy

pax> 

1
এই প্রশ্নটি কি স্ট্যাকওভারফ্লোতে অন্তর্ভুক্ত?
ট্রজানফয়ে

@ ট্রোজানফো, শেল সম্পর্কিত যে কোনও প্রশ্ন যতটা করে, হ্যাঁ, আমিও তাই ভাবব। এটা তোলে হয় এছাড়াও একটি প্রোগ্রামিং ভাষা।

:বিভাজক হিসাবে ব্যবহারের উত্তরটি আমি পরিবর্তিত করেছি , যেমনটি * নিক্সে ব্যবহৃত হয়। উইন্ডোজ ব্যবহার করে ;(সম্ভবত কারণ :ইতিমধ্যে এর একটি অর্থ রয়েছে C:)।
জোছিম সৌর

আসলে, জোয়াচিম, সম্ভবত এটি বলা আরও সঠিক যে একটি প্রদত্ত শেলটি (ইউনিক্সের পরিবর্তে নিজেই) একটি নির্দিষ্ট ডিরেক্টরি বিভাজক রয়েছে তবে আমি আমার মাথার উপরের অংশটি ব্যবহার করি না কেন তার পক্ষে আপনি সঠিক। ঠিক করার জন্য ধন্যবাদ, চিয়ার্স।

@ প্যাক্সিয়াব্লো: হ্যাঁ, আমি সে সম্পর্কে ভেবেছিলাম তবে আমিও এমন কোনও ইউনিক্স শেল ব্যবহার করতে পারি না এমন কথা ভাবতে পারি না :(জাভাতে, উদাহরণস্বরূপ path.separatorসর্বদা :* নিক্সে থাকে)।
জোছিম সউর

5

কি?

PATH এনভায়রনমেন্ট ভেরিয়েবল হ'ল ডিরেক্টরগুলির একটি কোলন-সীমাবদ্ধ তালিকা যা আপনি কমান্ড সন্নিবেশ করার পরে আপনার শেলটি অনুসন্ধান করে।

কীভাবে সেট করবেন?

PATH=$PATH:/your/directory
export PATH

আমি যখনই টার্মিনালটি খুলব তখন আমি কীভাবে এটিকে পাঠাতে পারি?

পূর্ববর্তী দুটি লাইন ভিতরে রাখুন ~/.bash_profile(আপনি যদি bashটার্মিনালের জন্য ব্যবহার করছেন)।


3

PATH সিস্টেমের মতো ইউনিক্সের জন্য পরিবেশগত পরিবর্তনশীল।

পথ নির্ধারণ:

export PATH=$PATH:<your path>

আনসেট পাথ:

unset $PATH

স্থায়ীভাবে পথ নির্ধারণ করুন

আপনার বাড়ির ফোল্ডারে, দেখুন -> লুকানো ফাইলগুলি দেখান সক্ষম করুন .... পেন .বাশ_ প্রোফাইল ফাইল, PATH লাইন রফতানির আগে এই লাইনটি যুক্ত করুন .....

PATH=$PATH:<yourpath>

লগআউট এবং আবার লগইন ...... এটি কাজ করছে কিনা তা পরীক্ষা করুন ... ভাল! এটি কাজ করা উচিত.....


1
ডাউনভোটের জন্য দুঃখিত, তবে এটি খারাপভাবে ফর্ম্যাট এবং ফ্রেসড। অতিরিক্ত গা bold় ব্যবহার, উপবৃত্তির অতিরিক্ত ব্যবহার ("...") এড়াতে চেষ্টা করুন এবং পূর্ণ বাক্য লিখুন। ভবিষ্যতে এই ধরনের উঁচু স্থানগুলি এড়াতে সহায়তা করা উচিত।
জোছিম সৌর

1
@ জোছিম সাউর আপনি উত্তরটি সম্পাদনা করছেন না কেন? আপনি এটিকে কেন ডাউনটা পছন্দ করেন?

1
@ মাইক্রোডেল: কারণ ইতিমধ্যে আরও ভাল, এই প্রশ্নের উচ্চমানের উত্তর রয়েছে এবং ডাউনওয়েটিংয়ে কম প্রচেষ্টা নেওয়া হয়। যদি এই যেখানে একমাত্র উত্তর, আমি সম্ভবত এটি সম্পাদনা করতে হবে। এছাড়াও: যদিও তারা সাধারণত মজা না করে, ডাউনভোটগুলি একটি বৈধ সরঞ্জাম (হ্যাঁ, প্রতিটি প্রশ্ন / উত্তরের পাশে উপরে এবং নীচে তীরগুলি রয়েছে)।
জোছিম সউর

1
এই মন্তব্যটিকে একই সময়ে সম্পাদনা করুন বা পোস্ট করুন, তবে সম্পাদনা করুন এটি আরও ভাল করে

@ মাইক্রোডেল: সুতরাং ডাউনভোটের পিছনে যুক্তি ব্যাখ্যা করা কি ব্যবহারকারীকে সাহায্য করে না? আমি মনে করি আমি আমার যুক্তি সম্পর্কে বেশ পরিষ্কার হয়েছি এবং গুণমান উন্নত করার বিষয়ে ব্যবহারিক পরামর্শ দিয়েছি। আপনার জেদ কেবলমাত্র তা আমার ডাউনভোটগুলি ব্যাখ্যা করার জন্য আমার আগ্রহকে হ্রাস করে (এবং আপনি যেমন আমার প্রোফাইলে দেখতে পাচ্ছেন আমি অত্যধিকভাবে হ্রাস করি না)।
জোছিম সৌর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.