আমি কীভাবে bu PATH কে উবুন্টুতে এর ডিফল্ট মানটিতে পুনরায় সেট করতে পারি?


31

আমি দুর্ঘটনাক্রমে $PATHএকটি নতুন ডিরেক্টরি যুক্ত করার চেষ্টা করার সময় সমস্ত ডিরেক্টরি আনসেট করেছি ~/.bashrc। আমি সম্পাদনা করার সাথে সাথে একটি নতুন টার্মিনাল উইন্ডোটি খুললাম এবং এখন $PATHখালি is আমি এই চিন্তায় রয়েছি যে আমি যদি অন্য ড্রাইভ থেকে বুট করি তবে আমি $PATHএই ড্রাইভে আর বুট করতে পারব না find

মূলত, এর ডিফল্ট ফলাফল echo $PATHকী?


1
মন্তব্য করুন বা সেই রফতানি লাইনটি ঠিক করুন এবং আপনার যেতে ভাল হবে।
প্যানথার

~/.bashrcযদিও পরিবেশের ভেরিয়েবল সেট করার জন্য এটি ভুল জায়গা। ~/.profileপরিবর্তে আপনার এটি করা উচিত ।
গিরিহা

হ্যাঁ আমি এটি বের করেছিলাম। নতুন টার্মিনাল উইন্ডোতে প্যাথটি এখনও ঠিক আছে যা নতুনটির আগে খোলা ছিল, তাই কেবল প্রান্তটি :$PATHপুনরুদ্ধার করে শেষে যুক্ত করে রফতানি লাইনটি ঠিক করা । এবং হ্যাঁ ~/.profile"PATH সেট করার কোড রয়েছে তাই এতে উপস্থিত থাকলে ব্যবহারকারীর ব্যক্তিগত বিনটি অন্তর্ভুক্ত করা হয়" অর্থাৎ$HOME/bin
সিই

উত্তর:


35

আপনার প্রশ্নের উত্তরটি হ'ল:

PATH=$(getconf PATH)

এবং যে কোনও POSIX অনুবর্তী সিস্টেমটিতে কাজ করে। নির্বাচিত উত্তরটি হ'ল পূর্বের বিদ্যমান সামগ্রীকে বাদ দিয়ে পথকে বাড়ানোর সঠিক উপায়। আপনি যদি ব্যাশ ব্যবহার করেন তবে আপনি বিবেচনা করতে পারেন:

PATH+=:$mynewdir

sed: No such file or directoryখুব দীর্ঘ চলমান প্রক্রিয়া চলাকালীন দুর্ঘটনাক্রমে আমার প্যাথএটিএকে কিছু না করে দেওয়ার পরে প্রচুর কমান্ড (সমস্যার ধরণ) ব্যবহার করতে আমার সমস্যা হয়েছিল ( আমি ব্যবহার করতে পারিনি getconf। আমার পথটি পুনরায় সেট করতে, আমি ব্যবহার করেছি $(export $(cat /etc/environment)":/usr/bin/additional:/usr/bin/paths")। কৌতূহলের জন্য: /etc/environmentপ্যাথ ভেরিয়েবল প্রাথমিকভাবে অনেকগুলি লিনাক্স স্বাদে সেট করা হয়।
নিক বুল

2
কাজ করা আমাকে অবাক করে দেয়। আশেপাশের "export (...)" জিনিসগুলি ছাড়াই সম্ভবত "রফতানি" হতে পারে, তবে সেখানে যা ঘটবে তা তাই হবে। "উত্স / ইত্যাদি / .." ব্যবহার করুন। যাইহোক, "/ ইউএসআর / বিন / গেটকনফ" চেষ্টা করে দেখুন যদি আপনি "গেটকনফ" নাও পান।
ব্রুস

আপনার চূড়ান্ত ধারণাটিকে হ্যান্ডসাইটে আমার চেয়ে অনেক বেশি পুরো পথটি ব্যবহার করে পছন্দ করুন! উত্তরের জন্য ধন্যবাদ
নিক বুল

1
যদি PATH ভেরিয়েবলটি খালি থাকে তবে কার্যকর PATH=$(getconf PATH)হবে না তবে কেবল ফলাফল হবেbash: getconf: No such file or directory
ম্যাক্স এন

1
যদি पथ খালি থাকে, তবে উপরের মন্তব্যটি নোট করুন: "/ usr / bin / getconf" চেষ্টা করুন try যদি এটি কাজ করে না, তবে আপনার সিস্টেমে তার পসিক্স কমান্ডগুলি স্ট্যাশ করে কোথায় এবং সেই ডিরেক্টরিটি ব্যবহার করতে হবে learn
ব্রুস

17

আপনি এটি / ইত্যাদি / পরিবেশে খুঁজে পেতে পারেন:

$ /usr/bin/cat /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

সুতরাং, কেবল এটি উত্স:

$ source /etc/environment 
$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

1
বিড়াল আপনার উত্তরের মতো এইভাবে কাজ করবে না, যেহেতু কোনও
AT

তুমি ঠিক বলছো. আমি শুধু উত্তরটি পরিবর্তন করেছি। ধন্যবাদ!
ম্যানুয়েল যীশু রদ্রিগেজ

8

যোগ করা হচ্ছে: AT পথ রফতানি লাইনের শেষে সমস্যার সমাধান করে export PATH=<directory to be added>:$PATH

আমি ~/.bash_rcফাইলটির পরিবর্তে ফাইলটিতে এই লাইনটি যুক্ত করছি ~/.profileযাতে আমি নতুন টার্মিনালে এবং তথ্যের ভিত্তিতে অন্যান্য কারণে তত্ক্ষণাত্ প্রভাবটি দেখতে পারি: https://superuser.com/questions/176404/linux-bash-not- লোড-প্রোফাইল-ইন-নতুন-অধিবেশন

আমার জন্য, echo $PATHনতুন ডিরেক্টরি যুক্ত করার আগে এর ডিফল্ট আউটপুট হল:

/ Usr / lib / lightdm / lightdm / usr / স্থানীয় পক্ষ থেকে / sbin / usr / স্থানীয় / বিন: / usr / sbin / usr / বিন: পক্ষ থেকে / sbin: / বিন / usr / গেম


3

ডিফল্ট পাথ

/home/_username_/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 

আশা করি এটি আপনাকে সহায়তা করবে


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