PATH- পরিবর্তনশীল সর্বদা পুনরায় সেট হয়। কীভাবে ঠিক করব?


9

কিছুক্ষণ আগে, আমি জানতে পেরেছি যে, আমি PATH-ভেরিয়েবল প্রসারিত করে কাস্টম কমান্ডারমানগুলি তৈরি করতে পারি। দুর্ভাগ্যক্রমে, এটি সর্বদা পুনরায় সেট হয়ে যায়, যখন আমি টার্মিনালটি বন্ধ করে দিয়ে আবার খুলি।

আপনি কীভাবে এই সমস্যাটি ঠিক করবেন জানেন?

কারণ যখন আমি টার্মিনাল কম্যান্ডের সাহায্যে কয়েকটি স্ক্রিপ্ট শুরু করতে চাই, আমি প্রতিবার আগে প্যাথ-ভেরিয়েবলটি প্রসারিত করতে চাই না ...


1
এটি আপনার মধ্যে রাখুন .bashrc?
gniourf_gniourf

কিভাবে যে কি? আমি লিনাক্সে নতুন;)
জেন

2
আপনার .bashrcফাইলটি এ জাতীয়ভাবে খুলুন : gedit ~/.bashrcএবং যা কিছু আপনি চান সেখানে রাখুন (ফাইলের নীচে ভাল) উদাহরণস্বরূপ, PATH="~/my/cool/path/:$PATH"এবং এই ভেরিয়েবলটি রফতানি করুন: আপনি সবেমাত্র যে রেখাটি প্রবেশ করেছেন তার export PATHপরে ফাইলটি সংরক্ষণ করুন, তারপরে আপনার টার্মিনালটি বন্ধ করে আবার খুলুন এটি এবং এখন আপনার এক্সিকিউটেবলগুলি ~/my/cool/pathপাওয়া যাবে।
gniourf_gniourf

আমি আপনার সম্পূর্ণ উত্তর হিসাবে এটি লিখেছিলাম ...:)
gniourf_gniourf

উত্তর:


15

আমি বুঝতে পারি আপনার বাড়ির কোনও ফোল্ডারে আপনার কয়েকটি এক্সিকিউটেবল রয়েছে, যেমন, ~/binএবং আপনি সর্বদা পুরো পথটি টাইপ না করে এগুলি কার্যকর করতে সক্ষম হতে চান ~/bin/my_cool_executable

আপনি ইতিমধ্যে পর্যবেক্ষণ করেছেন যে PATH=~/bin:$PATHআপনার টার্মিনালে প্রবেশ করা জিনিসগুলি কাজ করে ... তবে কেবলমাত্র আপনি টার্মিনালটি বন্ধ না করা পর্যন্ত। আপনি যখন একটি নতুন খোলেন, আপনার পূর্বের PATHভেরিয়েবলটি তার মূল মানটিতে পুনরায় সেট হয়ে যায়। যাইহোক, আমি অনুমান করি যে আপনি যে কোনও সময় PATHভেরিয়েবলের মান পরীক্ষা করতে জানেন : যেমন:

echo "$PATH"

কীভাবে আপনার পরিবর্তন স্থায়ী করবেন যাতে PATHআপনি নতুন টার্মিনালটি পুনরায় খোলার সময় আপনার একই অবস্থা থেকে যায়? এটি খুব সহজ, আপনার নিজের .bashrcফাইলটি সম্পাদনা করতে হবে। আসুন geditসম্পাদকটি ব্যবহার করুন : একটি টার্মিনালে, এটি টাইপ করুন:

gedit ~/.bashrc

এটি geditসম্পাদক খোলে । ফাইলের শেষে স্ক্রোল করুন এবং এটি যুক্ত করুন:

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH

এবং ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন gedit। তারপরে আপনার টার্মিনালটি বন্ধ করুন এবং একটি নতুন খুলুন। এখন আপনার PATHভেরিয়েবলটির ~/binসামনে থাকা উচিত যাতে আপনার কমান্ডগুলি ~/binসম্পূর্ণ পথ টাইপ না করে অ্যাক্সেসযোগ্য হয়। আর আপনি যে চেক করতে জানেন কিভাবে: echo "$PATH"

উপভোগ করুন!

সতর্কতা । এটি আপনার অভ্যাস পরিবর্তন করা খারাপ অভ্যাস এবং একটি সুরক্ষিত দুর্বলতা হিসাবে বিবেচনা করা .হয় PATH


সুতরাং, এটি সত্যিই দুর্দান্ত ছিল, তবে এখন আমি প্রোগ্রামগুলি শুরু করতে পারছি না, যখন আমি মূল হই। আপনি কেন জানেন এবং কেন এটি ঠিক করবেন? :)
জেন

এই ক্ষেত্রে, একটি বিকল্প হ'ল আপনার প্রোগ্রামগুলিকে ভেরিয়েবলের /usr/local/binসাথে ফিডিংয়ের পরিবর্তে put োকাতে হবে PATH... বা /usr/local/sbinযদি সেগুলি কেবল রুট দ্বারা অ্যাক্সেস করতে হবে।
gniourf_gniourf

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