"প্রতিধ্বনি - পথ" এবং / ইত্যাদি / পাথের মধ্যে পার্থক্য কী?


10

যখন আমি $ PATH- echo আমি এই পাবেন: Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools

আমি এ থেকে কিছু পথ সরাতে চাই, কিন্তু যখন আমি কমান্ডটি ব্যবহার করে ফাইলটি খুলি, তখন আমি vim /etc/pathsনিম্নলিখিত ফলাফলগুলি পাই:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

ফাইল / ইত্যাদি / পাথগুলি কি $ PATH পরিবর্তনশীল থেকে পৃথক?


ওএস এক্স এর কোন সংস্করণ? আমার /etc/pathsমধ্যে নেই, তবে আমি চালাচ্ছি 10.4.11এবং তখন থেকেই পরিস্থিতি সম্ভবত পরিবর্তিত হয়েছে
ফক্স

1
কিন্তু অনুযায়ী AskDifferent উপর একটি উত্তর , /etc/pathsডিফল্ট জেনারেট করতে ব্যবহার করা হয় $PATH, পরে পরিবর্তন করতে পারেন যা
ফক্স

এটি ডিফল্ট। ব্যবহারকারী যখন তাদের শেলটি শুরু করবেন, ততক্ষণে এটি অন্য ফাইলগুলি দ্বারা শেল উত্সগুলি দ্বারা সংশোধন করা হবে, যেমন ~/.bashrcবা~/.profile
সের্গি কলডিয়াজহনি

উত্তর:


14

/etc/paths$PATHশেল প্রক্রিয়াগুলির জন্য সেট আপ করতে যা ব্যবহৃত হয় তার একটি অংশ । আপনি যখন একটি নতুন টার্মিনাল উইন্ডো খুলবেন, এটি শুরু হয় bash, যা বেশ কয়েকটি স্টার্টআপ স্ক্রিপ্টগুলি চালায়: /etc/profileএবং ~/.bash_profileওআর (যদি তা বিদ্যমান না থাকে) ~/.bash_loginবা (যদি তা নাও থাকে তবে) ~/.profile। এই স্ক্রিপ্টগুলি সহ শেল পরিবেশ স্থাপন করে $PATH

জিনিসগুলির মধ্যে /etc/profileএকটি চালিত হয় /usr/libexec/path_helperযা /etc/pathsকোনও ফাইল পড়ে এবং এতে /etc/paths.dতাদের সামগ্রী যুক্ত করে $PATH। তবে এটি কেবল একটি সূচনা পয়েন্ট; আপনার নিজস্ব স্টার্টআপ স্ক্রিপ্ট (যদি কোনও বিদ্যমান থাকে) $PATHএটিকে যুক্ত করতে , সম্পাদনা করতে, এটি পুরোপুরি প্রতিস্থাপন করতে পারে ইত্যাদি can

এটি আপনার স্টার্টআপ স্ক্রিপ্টের মতো দেখতে (এবং / অথবা এটি চালিত জিনিসগুলি) এটি থেকে প্রাপ্ত বেসিক সেটে বেশ কয়েকটি এন্ট্রি যুক্ত করছে /etc/paths। "ব্যবহারকারী / মাইউজারনেম / .নোড_মডিউলস_গ্লোবাল / বিন $PATH: / ব্যবহারকারী / ম্যাক / নোড_মডিউলস_গ্লোবাল/বিন:" এর শুরুতে যুক্ত করা হয়েছে (যার অর্থ সেই ডিরেক্টরিগুলি প্রথমে অনুসন্ধান করা হবে), এবং ": / ব্যবহারকারী / ম্যাক / লাইব্রেরি / অ্যান্ড্রয়েড / এসডিকে / প্ল্যাটফর্ম-সরঞ্জামগুলি: / প্ল্যাটফর্ম-সরঞ্জামসমূহ "শেষে যুক্ত করা হয়। এগুলি কী যুক্ত করছে তা আপনি যদি জানতে চান তবে আপনাকে আপনার স্টার্টআপ স্ক্রিপ্টটি দেখতে হবে।

বিটিডাব্লু, সেটআপ করার জন্য এই প্রক্রিয়াটি $PATHকেবলমাত্র "লগইন" শেলগুলির জন্য প্রযোজ্য। ব্যাশ শেল দ্বারা চালিত যেকোনো কিছুই $PATHএখান থেকে উত্তরাধিকারী হবে, সুতরাং সম্ভবত একই জিনিসটি সম্ভবত থাকবে। ব্যাশ নন-লগইন শেলগুলি কিছুটা আলাদা সেটআপ প্রক্রিয়া অনুসরণ করে। অন্যান্য শেল, এবং শেল থেকে একেবারে শুরু না হওয়া জিনিসগুলির (যেমন ক্রোন জবস) সম্পূর্ণ আলাদা থাকতে পারে $PATHs


নোট-লগইন শেলগুলির জন্য (যেমন আর্গুমেন্ট ব্যতীত /usr/local/bin/bashইনস্টল করা ) ব্যবহার করা হয় না এবং ডিফল্টরূপে অন্তর্ভুক্ত থাকে না । স্ক্রিপ্টে বা ইন্টারেক্টিভভাবে ব্যবহার করতে , আদেশটি হল । brew-l/usr/libexec/path_helper/usr/local/bin$PATHpath_helpereval $(/usr/libexec/path_helper)
কাইল স্ট্র্যান্ড

0

পরিবর্তনগুলির জন্য যাচাই করার জন্য আমি প্রথমে যে জায়গাগুলি দেখতে চাইছি সেগুলি হ'ল

~/.profile
~/.bashrc
~/.bash_profile

আপনি যদি এমন কোনও জিনিস ব্যবহার করেন যা বাশ নয়, এটির জন্য PATH এর কোনও উল্লেখ দেখতে কনফিগারেশন ফাইলগুলি পরীক্ষা করে দেখুন।

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