linux - কিভাবে লিনাক্স/ইউনিক্সে স্থায়ীভাবে $ PATH সেট করবেন?




bash unix (15)

আমি আমার পাথে একটি ডিরেক্টরি যুক্ত করার চেষ্টা করছি তাই এটি সবসময় আমার লিনাক্স পাথে থাকবে। আমি চেষ্টা করেছিলাম:

export PATH=$PATH:/path/to/dir

এই কাজ করে যাইহোক, আমি প্রতিটি সময় টার্মিনাল থেকে প্রস্থান করি এবং একটি নতুন টার্মিনাল উদাহরণ আরম্ভ করি, এই পথটি হারিয়ে যায় এবং আমাকে আবার রপ্তানি কমান্ডটি চালানোর প্রয়োজন হয়।

আমি কিভাবে এটি স্থায়ীভাবে সেট করা হবে তাই করতে পারি?


Homebrew ব্যবহার করে দ্রুত ইনস্টলেশন

এই video চেক করুন

অথবা

নিচে পদক্ষেপ

Step 1:

খুলুন https://brew.sh/

উপরের স্ক্রীনশটটিতে দেখানো URL টি অনুলিপি করুন

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

টার্মিনালে URL টি অনুলিপি করুন এবং হিট রিটার্ন / প্রবেশ করান কী

আপনি Homebrew ইনস্টলেশনের সাথে সম্পন্ন একবার পদক্ষেপ 2 অনুসরণ :

Step 2: https://www.terraform.io/downloads.html থেকে টেরাফর্ম ডাউনলোড করুন

ডাউনলোড জিপ terraform ফাইল নিষ্কাশন

এখন আপনার কাছে ডাউনলোড ফোল্ডারে একটি ফাইলের নাম terraform থাকবে

এই ক্ষেত্রে

/Users/username/downloads/terraform

Step 3:

একটি terminal খুলুন

cd: ডিরেক্টরি /Users/username/downloads/terraform

Step 4:

চালান টার্মিনাল brew install terraform চালান


1. "/ etc / প্রোফাইল" ফাইল উন্নত করুন।

#vi /etc/profile

সম্পাদন অবস্থা প্রবেশ করতে "আই" কী চাপুন এবং ফাইলের শেষে কার্সারটি সরান, অতিরিক্ত এন্ট্রি:

export PATH=$PATH:/path/to/dir;

প্রেস "Esc" কী প্রস্থান প্রস্থান অবস্থা, ': wq' ফাইলটি সংরক্ষণ করুন।

2. কনফিগারেশন কার্যকর করুন

source /etc/profile

ব্যাখ্যা করুন: প্রোফাইল ফাইলটি সমস্ত ব্যবহারকারীদের জন্য কাজ করে, যদি আপনি শুধুমাত্র সক্রিয় ব্যবহারকারীর জন্য বৈধ হতে চান তবে ".bashrc" ফাইলটি সেট করুন


আপনি 2 উপায়ে স্থায়ীভাবে $PATH সেট করতে পারেন।

  1. নির্দিষ্ট ব্যবহারকারীর জন্য পথ সেট করতে: আপনাকে ব্যবহারকারীর হোম ডিরেক্টরিতে .bash_profile এ এন্ট্রি করতে হতে পারে।

    উদাহরণস্বরূপ আমার ক্ষেত্রে আমি tomcat ব্যবহারকারীর প্রোফাইলে জাভা পাথ সেট করব

    [tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/tomcat/.bash_profile
  2. সমস্ত সিস্টেম ব্যবহারকারীদের জন্য সাধারণ পথ সেট করতে, আপনাকে এইরকম পথ সেট করতে হবে:

    [root~]# echo "export PATH=$PATH:/path/to/dir" >> /etc/profile

আপনি আপনার কনসোল কনফিগারেশন ফাইলে (যেমন। Bashrc), বা .profile এ লাইন যোগ করতে পারেন


আপনি স্থানীয় ব্যবহারকারীর জন্য Centos বা RHEL ব্যবহার করতে পারেন:

echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile

এটি PATH- এ বর্তমান ডিরেক্টরিটি (অথবা আপনি অন্য ডিরেক্টরি ব্যবহার করতে পারেন) যোগ করতে পারেন, এটি স্থায়ী করে তবে পরবর্তী ব্যবহারকারী লগন এ কার্যকর হবে।

যদি আপনি পুনরায় লগ-ইন করতে না চান তবে ব্যবহার করতে পারেন:

source ~/.bash_profile

এটি পুনরায় লোড করুন # User specific environment and startup programs এই মন্তব্যটি উপস্থিত রয়েছে। .bash_profile


আপনি স্থায়ীভাবে সেট করতে পারেন, এই ফাইলগুলির মধ্যে একটি সম্পাদনা:

/etc/profile (সকল ব্যবহারকারীর জন্য)

~/.bash_profile (বর্তমান ব্যবহারকারীর জন্য)

~/.bash_login (বর্তমান ব্যবহারকারীর জন্য)

~/.profile (বর্তমান ব্যবহারকারীর জন্য)

আপনি স্থায়ী PATH এনভায়রনমেন্ট ভেরিয়েবল সেট করতে /etc/environment ব্যবহার করতে পারেন, তবে এটি পরিবর্তনশীল সম্প্রসারণ সমর্থন করে না

থেকে বেরিয়ে এসেছে: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html


আমি গতকাল এই প্রশ্ন জুড়ে আমার পঠিত স্ক্রিপ্ট ধারণকারী একটি ফোল্ডার যুক্ত করার জন্য অনুসন্ধান করার সময় অনুসন্ধানের সময় সন্ধান করলাম - এবং আমার নিজের ~/.profile ফাইল (লিনাক্স মিন্ট 18.1) এ ইতিমধ্যে এটি অন্তর্ভুক্ত ছিল তা অবাক করে দিয়েছিল:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

সুতরাং, আমাকে যা করতে হয়েছিল তা ~/bin ফোল্ডারটি তৈরি করে সেখানে আমার স্ক্রিপ্টগুলি রাখা হয়েছিল।


আমি সবচেয়ে মার্জিত উপায় মনে হয়:

1. এই / ~। Bashrc ফাইলে যুক্ত করুন এই কমান্ডটি চালান

gedit ~ / .bashrc

এটা ভিতরে আপনার পথ যোগ করুন

রপ্তানি PATH = $ PATH: / অপট / নোড / বিন

2.সোর্স ~ / .bashrc

(উবুন্টু)


উবুন্টুতে, সম্পাদনা /etc/environment । তার একমাত্র উদ্দেশ্য পরিবেশের ভেরিয়েবল সংরক্ষণ করা হয়। মূলত $ PATH পরিবর্তনশীল এখানে সংজ্ঞায়িত করা হয়। এটি আমার /etc/environment ফাইল থেকে একটি পেস্ট:

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

সুতরাং আপনি এই ফাইলটি রুট হিসাবে খুলুন এবং যা চান তা যোগ করুন।

অবিলম্বে ফলাফলের জন্য, চালান (স্বাভাবিক ব্যবহারকারী এবং রুট হিসাবে চেষ্টা করুন):

source /etc/environment && export PATH

হালনাগাদ:

zsh (aka z শেল) ব্যবহার করলে, এই লাইনে /etc/zsh/zshenv মধ্যে মন্তব্যের পরে ডানদিকে যোগ করুন:

source /etc/environment

আমি উবুন্টু 15.10 এ এই ছোট্ট কুইকটির মুখোমুখি হই, কিন্তু যদি আপনার zsh সঠিক পথ পাচ্ছে না, তাহলে কেন


এটা করতে একাধিক উপায় আছে। প্রকৃত সমাধান উদ্দেশ্য উপর নির্ভর করে।

ভেরিয়েবল মানগুলি সাধারণত সিস্টেমে বা ব্যবহারকারীর সেশনের শুরুতে চালানো একটি তালিকা বা শেল স্ক্রিপ্টের তালিকাতে সংরক্ষিত হয়। শেল স্ক্রিপ্টের ক্ষেত্রে আপনাকে একটি নির্দিষ্ট শেল সিনট্যাক্স ব্যবহার করতে হবে।

সিস্টেম প্রশস্ত

  1. /etc/environment অনন্য নিয়োগ তালিকা। System-wide ডিরেক্টরিগুলি যেমন /usr/local/something/bin PATH পরিবর্তনশীল বা JAVA_HOME সংজ্ঞায়িত করার জন্য JAVA_HOME
  2. X উইন্ডো সিস্টেম সেশন শুরু করার সময় /etc/xprofile শেল স্ক্রিপ্টটি কার্যকর করা হয়েছে। এটি প্রত্যেকটি ব্যবহারকারীর জন্য X উইন্ডো সিস্টেমের মধ্যে লগ ইন করে। এটি PATH এন্ট্রিগুলির জন্য ভাল পছন্দ যা প্রতিটি ব্যবহারকারীর জন্য বৈধ /usr/local/something/bin । ফাইলটি অন্যান্য স্ক্রিপ্ট দ্বারা অন্তর্ভুক্ত করা হয়েছে তাই আপনার ব্যবহারকারী শেলের পিন্সেল শেল সিনট্যাক্সটি ব্যবহার করুন।
  3. /etc/profile এবং /etc/profile.d/* শেল স্ক্রিপ্ট। শেল-শুধুমাত্র সিস্টেমের জন্য এটি একটি ভাল পছন্দ। যারা ফাইল শেল দ্বারা শুধুমাত্র পড়া হয়।
  4. /etc/<shell>.<shell>rc . /etc/<shell>.<shell>rc । শেল স্ক্রিপ্ট। এটি একটি দরিদ্র পছন্দ কারণ এটি একক শেল নির্দিষ্ট।

ব্যবহারকারীর সেশন

  1. ~/.pam_environment । অনন্য নিয়োগ তালিকা। প্রতিটি ব্যবহারকারীর সেশনের শুরুতে PAM দ্বারা লোড হওয়া অপ্রাসঙ্গিক যদি এটি একটি X উইন্ডো সিস্টেম সেশন বা শেল হয়। আপনি HOME বা PATH সহ অন্যান্য পরিবর্তনশীল উল্লেখ করতে পারবেন না যাতে এটি সীমিত ব্যবহার করে।
  2. ~/.xprofile শেল স্ক্রিপ্ট। ব্যবহারকারী এক্স এক্স সিস্টেম সিস্টেম লগ ইন করলে এটি কার্যকর হয়। এখানে সংজ্ঞায়িত ভেরিয়েবল প্রতিটি এক্স অ্যাপ্লিকেশন দৃশ্যমান। ~/bin বা ~/go/bin বা ব্যবহারকারী নির্দিষ্ট নির্দিষ্ট GOPATH বা NPM_HOME হিসাবে মানগুলি সহ PATH প্রসারিত করার জন্য উপযুক্ত পছন্দ। ফাইলটি অন্যান্য স্ক্রিপ্ট দ্বারা অন্তর্ভুক্ত করা হয়েছে তাই আপনার ব্যবহারকারী শেলের পিন্সেল শেল সিনট্যাক্সটি ব্যবহার করুন। আপনার গ্রাফিকাল টেক্সট এডিটর বা শর্টকাট দ্বারা শুরু আইডিই সেই মানগুলি দেখতে পাবে।
  3. ~/.profile । প্রোফাইল শেল স্ক্রিপ্ট। এটি কেবলমাত্র টার্মিনাল বা টার্মিনাল এমুলেটর থেকে শুরু হওয়া প্রোগ্রামগুলির জন্য দৃশ্যমান হবে। এটি শেল-কেবল সিস্টেমগুলির জন্য একটি ভাল পছন্দ।
  4. ~/.<shell>rc । শেল স্ক্রিপ্ট। এটি একটি দরিদ্র পছন্দ কারণ এটি একক শেল নির্দিষ্ট।

বিতরণ নির্দিষ্ট ডকুমেন্টেশন


ডেবিয়ান বিতরণের জন্য আপনাকে:

    - edit ~/.bashrc  e.g: vim ~/.bashrc 
    - add export PATH=$PATH:/path/to/dir
    - then restart your computer. Be aware that if you edit ~/.bashrc  as root, your environment variable you added will work only for root

নিচের লাইনটি হল সর্বোত্তম সহজ উপায়:
PATH="<directory you want to include>:$PATH"
হোম ডিরেক্টরিতে আপনার .bashrc ফাইল।
আপনি যদি টার্মিনালটি বন্ধ করেন বা আপনার পিসিকে রিবুট করেন তবে এটি রিসেট পাবে না। তার স্থায়ী


/etc/profile.d ফোল্ডার স্ক্রিপ্টে যোগ করুন [name_of_script].sh /etc/profile.d লাইন সহ: export PATH=$PATH:/dir/etc/profile.d ফোল্ডারের মধ্যে প্রতিটি স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে লগইন করে /etc/profile দ্বারা চালিত হয়।


~/.bashrcexport ঘোষণা রাখুন। আমার। Bashrc এই রয়েছে:

export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH

স্থায়ীভাবে PATH পরিবর্তনশীল যোগ করুন

বিশ্ব:

echo "export PATH=$PATH:/new/path/variable" >> /etc/profile

স্থানীয় (শুধুমাত্র ব্যবহারকারীর জন্য):

echo "export PATH=$PATH:/new/path/variable" >> ~/.profile

গ্লোবাল পুনর্সূচনা জন্য। স্থানীয় relogin জন্য।

উদাহরণ

আগে:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin

পরে:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

বিকল্পভাবে আপনি শুধুমাত্র প্রোফাইল সম্পাদনা করতে পারেন:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

আরেকটি উপায় (ধন্যবাদ gniourf_gniourf):

echo 'PATH=$PATH:/new/path/variable' >> /etc/profile

আপনি এখানে ডবল কোট ব্যবহার করা উচিত নয়! echo 'Export PATH = $ PATH: / new / path / variable' ... এবং উপায় অনুসারে, এক্সপোর্ট কীওয়ার্ডটি সম্ভবত খুব নিরর্থক কারণ PATH পরিবর্তনশীলটি খুব সম্ভবত এক্সপোর্ট হিসাবে চিহ্নিত করা হয়েছে। - gniourf_gniourf





zsh