কোন ফাইলগুলি পরিবেশের ভেরিয়েবলগুলিতে সেট করা / যুক্ত করছে এবং তাদের অগ্রাধিকারের আদেশটি খুঁজে পাওয়া সম্ভব?


9

আমার এনভায়রনমেন্ট ভেরিয়েবল (কিছু $PATH, $MANPATHএবং বন্ধুদের) আংশিকভাবে বিভিন্ন উৎস ফাইল সেট আপ করা হয়।

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

আমার $ PATH-, উদাহরণস্বরূপ, স্পষ্টত হয়েছে সেটে (যোগ করা) .bashrc, /etc/paths, /etc/paths.d/X11... এবং আমি এখনও যা superfluously আমার একটি ডুপ্লিকেট পথ সংজ্ঞা নির্মিত যে গত রহস্যময় ফাইল খুঁজছি $PATH

পরিবেশের ভেরিয়েবলগুলিতে অবদান রাখে এমন ফাইলগুলি ম্যানুয়ালি পয়েন্ট করতে এটি বেশ সময় নেয়। সমস্ত সেটটারদের ট্রেস করার এই অপ্রয়োজনীয় শ্রমকে বাইপাস করার একটি কার্যকর উপায় অবশ্যই থাকতে হবে… বা এই লাইনগুলিতে আমিই কেবল একাই ভাবছি?

উত্তর:


6

সাধারণত PATHপ্রোগ্রামটি আপনাকে pam_envএকটি সাধারণ সিস্টেম-নির্ভর পথে প্রাথমিক মান হিসাবে সেট করে থাকে যা আপনাকে লগ ইন করে ( একটি সাধারণ অবদানকারী) /etc/profileএবং তারপরে এবং ~/.profileসেগুলির মধ্যে অন্তর্ভুক্ত ফাইলগুলি সেই মানটি সংশোধন করতে যায়।

কোন পরিবর্তনের সরান PATHমধ্যে .bashrc, পরিবেশ সেটিংসে অন্তর্গত না .bashrc: দেখুন .bashrc এবং .bash_profile মধ্যে পার্থক্য

প্রথমে পাঠ্য মোডে লগ ইন করার চেষ্টা করুন (উদাহরণস্বরূপ ssh localhost), কারণ গ্রাফিক্স মোডের চেয়ে সেশন সূচনাটি অনেক সহজ।

set -xশুরুতে রাখুন /etc/profileএবং ~/.profile। শেলটি এটির স্ট্যান্ডার্ড ত্রুটি প্রবাহে কী করে তার একটি ট্রেস মুদ্রণ করবে; PATHট্রেস এ্যাসাইনমেন্ট সন্ধান করুন।

পরিবেশের পরিবর্তনশীল কার্যভারের নজির নেই whoever


6

আপনার PATH যে কোনও জায়গায় সেট করা যেতে পারে, কেবল আপনার .Bashrc ফাইলে নয়। সম্ভবত আপনার সিস্টেমে একটি ফাইল রয়েছে /etc/profileএবং / অথবা /etc/profile.localযা আপনার সিস্টেমের সমস্ত ব্যবহারকারীর জন্য একটি ডিফল্ট পাথ সেট করে। এতে ব্যবহারকারী নির্দিষ্ট পরিবর্তন বা সংযোজনগুলি আপনার .profileফাইলে সেট করা থাকতে পারে যদি সেগুলি আপনার না থাকে .bashrcবা আপনি কেবলমাত্র আপনার সিস্টেমে ডিফল্ট ব্যবহার করতে পারেন।

আপনি যদি এমন পরিবর্তনগুলি করতে চান যা কেবল আপনাকে প্রভাবিত করে, আমি .profileনীচের ফর্মটি ব্যবহার করে এগুলি রাখি :

export PATH=/new/directory:$PATH

পুরোপুরি পুনর্লিখনের পরিবর্তে বর্তমান পথ সম্পাদনা করে।

এর "আবাহন" বিভাগে man bash(অথবা এখানে ) মধ্যে পার্থক্য ব্যাখ্যা করে .profileএবং .bashrc, ইত্যাদি, এবং যা অন্যান্য ফাইল পড়তে এবং যা করার সময়ে আপনি লগ ইন বা শেল শুরু হবে।


1

এটির পক্ষে খুব একটা সম্ভাবনা নেই for শেলটিতে একটি এনভির ভেরিয়েবলের মান পরিবর্তন করার জন্য কতগুলি উপায় রয়েছে তা চিন্তা করুন।

set -xযদিও আপনি কিছু ভাগ্য পেতে পারেন ।

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