ලිනක්ස් / යුනික්ස් හි $ PATH ස්ථිර ලෙස සකසන්නේ කෙසේද? [වසා ඇත]


902

මම මගේ මාර්ගයට ඩිරෙක්ටරියක් එක් කිරීමට උත්සාහ කරමි, එබැවින් එය සැමවිටම මගේ ලිනක්ස් මාර්ගයේ පවතිනු ඇත. මම උත්සාහ කළා:

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

මෙය ක්‍රියා කරයි, කෙසේ වෙතත් මම පර්යන්තයෙන් පිටවී නව පර්යන්තයක් ආරම්භ කරන සෑම අවස්ථාවකම මෙම මාර්ගය නැති වී ඇති අතර අපනයන විධානය නැවත ක්‍රියාත්මක කිරීමට අවශ්‍යය.

මෙය ස්ථිර ලෙස සකසනු ලබන පරිදි මා එය කරන්නේ කෙසේද?

Answers:


255

එය කිරීමට විවිධ ක්‍රම තිබේ. සැබෑ විසඳුම අරමුණ මත රඳා පවතී.

විචල්‍ය අගයන් සාමාන්‍යයෙන් පැවරුම් ලැයිස්තුවක හෝ පද්ධතියේ ආරම්භයේදී හෝ පරිශීලක සැසිය තුළ ක්‍රියාත්මක වන ෂෙල් ස්ක්‍රිප්ට් එකක ගබඩා කර ඇත. ෂෙල් තිර රචනය වූ අවස්ථාවක ඔබට නිශ්චිත ෂෙල් කාරක රීති හා භාවිතා කළ යුතු exportහෝ setවිධාන.

පද්ධතිය පුළුල්

  1. /etc/environmentඅද්විතීය පැවරුම් ලැයිස්තුව, යොමු කිරීම් වලට ඉඩ දෙයි. වැනි පද්ධතිය පුරා බහලුම් එක් කිරීම සඳහා පරිපූර්ණ /usr/local/something/binකිරීමට PATHවිචල්ය හෝ නිර්වචනය JAVA_HOME. PAM සහ SystemD භාවිතා කරයි.
  2. /etc/environment.d/*.confඅද්විතීය පැවරුම් ලැයිස්තුව, යොමු කිරීම් වලට ඉඩ දෙයි. වැනි පද්ධතිය පුරා බහලුම් එක් කිරීම සඳහා පරිපූර්ණ /usr/local/something/binකිරීමට PATHවිචල්ය හෝ නිර්වචනය JAVA_HOME. වින්‍යාසය බහු ගොනු වලට බෙදිය හැකිය, සාමාන්‍යයෙන් එක් එක් මෙවලමකට එකක් (ජාවා, ගෝ, නෝඩ්ජේඑස්). SystemD විසින් භාවිතා කරනුයේ සැලසුම අනුව එම අගයන් පරිශීලක පිවිසුම් කවච වෙත නොයවන්න.
  3. /etc/xprofileX කවුළු පද්ධති සැසිය ආරම්භ කරන විට ෂෙල් ස්ක්‍රිප්ට් ක්‍රියාත්මක වේ. X කවුළු පද්ධතියට පිවිසෙන සෑම පරිශීලකයෙකුටම මෙය ක්‍රියාත්මක වේ. PATHසෑම පරිශීලකයෙකුටම වලංගු වන ඇතුළත් කිරීම් සඳහා එය හොඳ තේරීමකි /usr/local/something/bin. ගොනුව වෙනත් ස්ක්‍රිප්ට් මඟින් ඇතුළත් කර ඇති බැවින් ඔබේ පරිශීලක කවචයේ වාක්‍ය ඛණ්ඩය නොව POSIX shell සින්ටැක්ස් භාවිතා කරන්න.
  4. /etc/profileසහ /etc/profile.d/*ෂෙල් පිටපත. ෂෙල් පමණක් පද්ධති සඳහා මෙය හොඳ තේරීමක්. එම ලිපිගොනු කියවනු ලබන්නේ පිවිසුම් ප්‍රකාරයේ ඇති ෂෙල් වෙඩි වලින් පමණි.
  5. /etc/<shell>.<shell>rc. ෂෙල් පිටපත. මෙය තනි තේරීමක් බැවින් එය දුර්වල තේරීමකි. පුරනය නොවන ආකාරයෙන් භාවිතා වේ.

පරිශීලක සැසිය

  1. ~/.pam_environment. අද්විතීය පැවරුම් ලැයිස්තුව, කිසිදු සඳහනක් අවසර නැත. එක්ස් කවුළු පද්ධති සැසියක් හෝ කවචයක් නම් සෑම පරිශීලක සැසියක් ආරම්භයේදීම PAM විසින් පටවනු ලැබේ. ඔබ ඇතුළු වෙනත් විචල්ය කොටසක් නොවන හැකි HOMEහෝ PATHඑය සීමිත භාවිත කර ඒ නිසා. PAM භාවිතා කරයි.
  2. ~/.xprofileෂෙල් පිටපත. පරිශීලකයා එක්ස් කවුළු පද්ධති පද්ධතියට පිවිසෙන විට මෙය ක්‍රියාත්මක වේ. මෙහි අර්ථ දක්වා ඇති විචල්‍යයන් සෑම X යෙදුමකටම දැකිය හැකිය. දීර්ඝ කිරීම සඳහා පරිපූර්ණ තේරීම PATHවැනි වටිනාකම් සමග ~/binහෝ ~/go/binහෝ පරිශීලකයා විශේෂිත අර්ථ GOPATHහෝ NPM_HOME. ගොනුව වෙනත් ස්ක්‍රිප්ට් මඟින් ඇතුළත් කර ඇති බැවින් ඔබේ පරිශීලක කවචයේ වාක්‍ය ඛණ්ඩය නොව POSIX shell සින්ටැක්ස් භාවිතා කරන්න. කෙටිමං මඟින් ආරම්භ කරන ලද ඔබේ චිත්‍රක පෙළ සංස්කාරකය හෝ IDE එම අගයන් දකිනු ඇත.
  3. ~/.profile, ~/.<shell>_profile, ~/.<shell>_loginෂෙල් තිර රචනය. එය දෘශ්‍ය වන්නේ ටර්මිනල් හෝ ටර්මිනල් ඉමුලේටරයෙන් ආරම්භ කරන ලද වැඩසටහන් සඳහා පමණි. ෂෙල් පමණක් පද්ධති සඳහා එය හොඳ තේරීමකි. පිවිසුම් ප්‍රකාරයේදී ෂෙල් වෙඩි භාවිතා කරයි.
  4. ~/.<shell>rc. ෂෙල් පිටපත. මෙය තනි තේරීමක් බැවින් එය දුර්වල තේරීමකි. පිවිසුම් නොවන ආකාරයෙන් ෂෙල් වෙඩි භාවිතා කරයි.

සටහන්

වේලන්ඩ් හි Gnome පරිසරය ලබා ගැනීම සඳහා පරිශීලක පිවිසුම් කවචය ආරම්භ කරයි. එය ඵලදායී පිවිසුම් ෂෙල් මානකරණ භාවිතා ~/.profile, ~/.<shell>_profile, ~/.<shell>_loginගොනු.

අත්පොත්

  • පරිසරය
  • environment.d
  • bash
  • ඉර ඉර

බෙදා හැරීමේ විශේෂිත ලියකියවිලි

අදාළ

පිවිසුම් කවචය සහ පුරනය නොවන ෂෙල් අතර වෙනස?


4
සවිස්තරාත්මක පිළිතුරට ස්තූතියි, මෙය ඉහළ විය යුතුය. සමහර විට .bash_profileලැයිස්තුවට ද එකතු කළ යුතු ද?
ජේම්ස් කෝ

2
@ ජේම්ස්කෝ අංක 4
trve.fa7ad

1
මම හිතන්නේ හොඳම පිළිතුර යෝජනා කර /etc/environmentඇත. නමුත් පිටතට නොගොස් මට එය නැවුම් කළ හැකිද? සමහර විට මම bash හෝ sh භාවිතා source /etc/environmentනොකරන බැවින් ක්‍රියා නොකරයි.
banan3'14

2
නියම සහ මගේ මතය අනුව වඩාත්ම සම්පූර්ණ පිළිතුර. වඩා ඉහළ විය යුතුය.
පීටර් ග්ලූර්

2
මෙම මාතෘකාව සෙවීමට මගේ හේතුව ඇත්ත වශයෙන්ම යන්න. .බෂ්ර්ක් නිවැරදි ස්ථානය නොවන බව වටහා ගත් එකම පුද්ගලයා මම නොවීම සතුටට කරුණකි. ;)
පීටර් ග්ලූර්

1050

ඔබ එය ඔබගේ ~/.profileහෝ ~/.bashrcගොනුවට එක් කළ යුතුය . 

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

ඔබ කරන දේ මත පදනම්ව, ඔබට ද්විමය සමඟ සම්බන්ධ වීමට අවශ්‍ය විය හැකිය:

cd /usr/bin
sudo ln -s /path/to/binary binary-name

සැසියේ ඉතිරි කාලය සඳහා මෙය ඔබගේ මාර්ගය ස්වයංක්‍රීයව යාවත්කාලීන නොවන බව සලකන්න. මෙය සිදු කිරීම සඳහා, ඔබ ධාවනය කළ යුතුය:

source ~/.profile 
or
source ~/.bashrc

12
ප්‍රශ්න කිහිපයක්. 1) $PATHසහ අතර මහා බඩවැලක් තිබිය යුතු නොවේද /usr/bin? 2) එහි සිටිය /usr/binයුතුය. 3) ඔබ ඒ වෙනුවට භාවිතා කළ යුතු නොවේද /usr/local/bin?
බටන්ඩ්වා

198
කරුණාකර සටහන් කරන්න : බොහෝ විට එය ඔබගේ බාෂ් PATH අවසානයේ පසුපස කොලන් එකක් තැබීම ආරක්ෂක සිදුරක් ලෙස සලකනු ලැබේ, මන්දයත් එය සොයන ක්‍රියාත්මක කළ හැකි දේ සොයාගත නොහැකි නම් එය වත්මන් ඩිරෙක්ටරියේ බැෂ් පෙනේ. වැඩි විස්තර සොයන මෙම ලිපිය සොයා ගන්නා පරිශීලකයින්ට මේ පිළිබඳව උපදෙස් දිය යුතුය.
erewok

51
D ඇඩම් රොබර්ට්සන් එය අනාරක්ෂිතයි - ඔබ ටාර්බෝල් එකක් ඇරෙන විට තත්වය සලකා බලන්න, පසුව cdඔබ එය ඉවත් කළ නාමාවලියට, ​​පසුව ධාවනය කරන්න ls--- ඉන්පසු ටාබෝල් හි අනිෂ්ට වැඩසටහනක් ඇති බව තේරුම් ගන්න ls.
ලිලී චුන්

21
මට නම් එය .bash_profile මිස .profile නොවේ. මෙය සෑම කෙනෙකුටම වෙනස් බව පෙනේ.
donquixote

9
මම හිතන්නේ මම මෙම පිළිතුරේ ගුණාත්මකභාවය සැලකිය යුතු ලෙස වැඩිදියුණු කළ අතර අනෙක් පරිශීලකයින් විසින් ඉදිරිපත් කරන ලද ගැටළු කිහිපයක් පිළිබඳව අවධානය යොමු කළෙමි. සෑම මාර්ග අපනයනයක්ම, හෝ මාර්ගය සකස් කරන සෑම විධානයක්ම, පවතින මාර්ගයක් මහා බඩවැලක් සමඟ වෙන් කිරීමට සැමවිටම වග බලා ගත යුතුය. ඊයම් හෝ පසුපස කොලෝන් කිසි විටෙකත් භාවිතා නොකළ යුතු අතර වර්තමාන නාමාවලිය කිසි විටෙකත් මාර්ගයේ නොවිය යුතුය.
එරික් රොබට්සන්

244

උබුන්ටු හි, සංස්කරණය කරන්න /etc/environment. එහි එකම අරමුණ පාරිසරික විචල්‍යයන් ගබඩා කිරීමයි. මුලින් $ PATH විචල්‍යය මෙහි අර්ථ දක්වා ඇත. මෙය මගේ /etc/environmentගොනුවේ පේස්ට් එකකි :

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

එබැවින් ඔබට මෙම ගොනුව root ලෙස විවෘත කර ඔබට අවශ්‍ය ඕනෑම දෙයක් එකතු කළ හැකිය.

ක්ෂණික ප්‍රති results ල සඳහා, ධාවනය කරන්න (සාමාන්‍ය පරිශීලකයෙකු ලෙස උත්සාහ කරන්න සහ root):

source /etc/environment && export PATH

යාවත්කාලීන කිරීම:

ඔබ zsh(aka Z Shell) භාවිතා කරන්නේ නම් , පහත දැක්වෙන අදහස් දැක්වීම් වලින් පසුව මෙම පේළිය එක් කරන්න /etc/zsh/zshenv:

source /etc/environment

මට උබුන්ටු 15.10 හි මෙම කුඩා විකාරය හමු විය, නමුත් ඔබේ zsh නිවැරදි PATH ලබා නොගන්නේ නම් , මේ නිසා විය හැකිය


13
සෑම පද්ධතියකටම / etc / environment නොමැත
user3439968

9
ආරුක්කු ලිනක්ස් $PATHවලද FWIW අර්ථ දක්වා ඇත /etc/profile.
ස්පාර්හෝක්

3
@ ඊ-සුෂි ඇත්තෙන්ම මම ඒ ගැන කම්පාවට පත්ව සිටිමි. මම උබුන්ටු 14.04.1 හි සිටිමි. ගොනුව ගොඩනඟා ඇති බව මට ඔබට පොරොන්දු විය හැකිය.
trve.fa7ad

2
සූර්යයා යටතේ / / etc / පරිසරය යටතේ සෑම යෝජනාවක්ම උත්සාහ කිරීමෙන් පසුව සහ ඒවා සියල්ලම ක්‍රියාත්මක නොවීමෙන් පසුව මම අවසානයේදී මේ පැකිලීමි. මමත් උබුන්ටු 14.04 හි සිටිමි. නැවත පණගැන්වීමෙන් පසු PATH විචල්‍යය සැබවින්ම වෙනස් කළ එකම එක මෙයයි.
චොකොමොන්කි

4
පරිසර ගොනුව යාවත්කාලීන කිරීමෙන් පසු පරිශීලකයා පරිගණකය නැවත ආරම්භ කළ යුතුය.
හරිෂ්_එන්

71

exportප්‍රකාශය දමන්න ~/.bashrc. මගේ .bashrc හි මෙය අඩංගු වේ:

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

7
නැවත ආරම්භ කිරීම අවශ්‍යද?
Upvote ක්ලික් කරන්න

2
මම මෙය .profile' තැබූ විට වැඩ කළා, සොයාගත නොහැකි විය.bashrc
ඉහළට ක්ලික් කරන්න

එය නිශ්චිත පද්ධතිය මත රඳා පවතී; කුමන ගොනුව ක්‍රියාත්මක කරන්නේද යන්න තීරණය කරන්නේ කුමන කොන්දේසිදැයි මට හරියටම විශ්වාස නැත. ගැටලුව විසඳීම ගැන සතුටුයි.
ෆ්‍රැක්ටිල්

12
Upv source ~/.bashrcක්ලික් කරන්න .bashrcවින්‍යාසය නැවත පූරණය කිරීමට ඔබ කළ යුතුය . එවිට එය ක්‍රියාත්මක වනු ඇත
BigSack

4
මෙම exportනම් මූල පදය පමණක් අවශ්ය වේ PATHඑය පාහේ කොන්දේසි විරහිතව වනු ඇත - දැනටමත් පරිසර විචල්ය ලෙස සලකුණු කර නැත. සරලවම PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATHඑකම බලපෑමක් ඇති කරයි.
චාල්ස් ඩෆි

30

ඔබට $PATHක්‍රම 2 කින් ස්ථිරවම සැකසිය හැකිය .

  1. විශේෂිත පරිශීලකයා සඳහා මාවත සැකසීමට: පරිශීලකයා .bash_profileතුළ නිවාස නාමාවලියෙහි ඇතුළත් කිරීම ඔබට අවශ්‍ය විය හැකිය .

    උදා: මගේ නඩුවේදී මම ටොම්කාට් පරිශීලක පැතිකඩෙහි ජාවා මාර්ගය සකසමි

    [tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/tomcat/.bash_profile
  2. සියලුම පද්ධති භාවිතා කරන්නන් සඳහා පොදු මාර්ගයක් සැකසීමට, ඔබට මෙවැනි මාර්ගයක් සැකසීමට අවශ්‍ය විය හැකිය:

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

3
නම් කරන ලද ගොනුව /etc/profilesසමග sඔබගේ ආකාරය දැකගත මත? පතලට නැත s. මම හිතන්නේ ඔබට අක්ෂර වින්‍යාසයක් තිබේ.
ක්‍රිස් ජොන්සන්

3
ඔබට පැතිකඩ ගොනුවට ලියන from වලින් ගැලවීමට ඔබට අවශ්‍ය විය හැකිය. උදා. මෙම ආරම්භක විධානය ක්‍රියාත්මක කරන වේලාව.
බුවින් ජේ

15

දේශීය පරිශීලකයා සඳහා ඔබට Centos හෝ RHEL භාවිතා කළ හැකිය:

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

මෙය වත්මන් ඩිරෙක්ටරිය (හෝ ඔබට වෙනත් ඩිරෙක්ටරියක් භාවිතා කළ හැකිය) PATH වෙත එක් කරයි, මෙය ස්ථිර වන නමුත් ඊළඟ පරිශීලක පිවිසුමේ සිට ක්‍රියාත්මක වේ.

නැවත පුරනය වීමක් කිරීමට ඔබට අවශ්‍ය නැතිනම්, භාවිතා කළ හැකිය:

source ~/.bash_profile

එමඟින් # User specific environment and startup programsමෙම ප්‍රකාශය නැවත පූරණය වේ.bash_profile


12

ඔබට ස්ථිරවම සැකසිය හැකිය, මෙම ලිපිගොනු වලින් එකක් සංස්කරණය කරන්න:

/etc/profile (සියලුම පරිශීලකයින් සඳහා)

~/.bash_profile (වත්මන් පරිශීලකයා සඳහා)

~/.bash_login (වත්මන් පරිශීලකයා සඳහා)

~/.profile (වත්මන් පරිශීලකයා සඳහා)

/etc/environmentස්ථිර PATH පරිසර විචල්‍යයක් සැකසීමටද ඔබට භාවිතා කළ හැකිය , නමුත් එය විචල්‍ය ප්‍රසාරණයට සහාය නොදක්වයි .

උපුටා ගැනීම: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html


7

මගේම ස්ක්‍රිප්ට් අඩංගු ෆෝල්ඩරයක් PATH වෙත එක් කිරීමට ක්‍රමයක් සෙවීමේදී මම ඊයේ මෙම ප්‍රශ්නයට බාධා කළෙමි - මගේම ~/.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කර මගේ ස්ක්‍රිප්ට් එහි තැබීමයි.


7

මම හිතන්නේ වඩාත්ම අලංකාර ක්‍රමය නම්:

1.ad / .bashrc ගොනුවේ මෙය එකතු කරන්න මෙම විධානය ක්‍රියාත්මක කරන්න

gedit ~ / .bashrc

එය තුළ ඔබේ මාර්ගය එක් කරන්න

අපනයනය PATH = AT PATH: / opt / node / bin

2. මූලාශ්‍ර ~ / .bashrc

(උබුන්ටු)


6

ඔබට එම රේඛාව ඔබේ කොන්සෝල වින්‍යාස ගොනුවට (උදා .bashrc) හෝ .profile වෙත එක් කළ හැකිය


2
මා සතුව එම ලිපිගොනු කිසිවක් නොමැත/home/(username)
Upvote ක්ලික් කරන්න

3
Lick ක්ලික්අප්වෝට්: ඔබ භාවිතා කරන්නේ කුමන කවචයද? (තිතකින් ආරම්භ වන ලිපිගොනු සැඟවී ඇත, ඔබට ls -aඒවා දැකීමට යමක් අවශ්‍ය වේ.)
ඩේවිඩ් ෂ්වාට්ස්

ඔබට එම ලිපිගොනු කිසිවක් නොමැති නම් (bashrc හෝ profile) ඔබට ඒවා අතින් නිර්මාණය කළ හැකි අතර ඒවා ස්වයංක්‍රීයව භාවිතා වේ
trve.fa7ad

6

1. "etc etc / profile" ගොනුව නවීකරණය කරන්න.

#vi /etc/profile

සංස්කරණ තත්වයට ඇතුළු වීමට "i" යතුර ඔබා කර්සරය ගොනුවේ අවසානයට ගෙනයන්න, අතිරේක ඇතුළත් කිරීම්

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

"Esc" යතුරෙන් පිටවීමේ සංස්කරණ තත්වය ඔබන්න, ': wq' ගොනුව සුරකින්න.

2. වින්‍යාසය .ලදායී කරන්න

source /etc/profile

පැහැදිලි කරන්න : පැතිකඩ ගොනුව සියලුම පරිශීලකයින් සඳහා ක්‍රියා කරයි, ඔබට සක්‍රිය පරිශීලකයාට පමණක් වලංගු වීමට අවශ්‍ය නම්, ".bashrc" ගොනුව සකසන්න


4

බොහෝ පර්යේෂණ වලින් පසුව, මම මේ සඳහා සරල විසඳුමක් සොයා ගතිමි (මම මූලික මෙහෙයුම් පද්ධතිය භාවිතා කරමි ), පහත සබැඳියෙන් දේවානුභාවයෙන් .

.Bashrc ගොනුව සංස්කරණ ප්‍රකාරයේදී විවෘත කිරීමට පහත විධානය ක්‍රියාත්මක කරන්න . [ඔබට vi හෝ වෙනත් සංස්කාරකයක් භාවිතා කළ හැකිය].

~$ sudo nano ~/.bashrc

ගොනුවේ අවසානයේ පහත පේළිය එකතු කර සුරකින්න.

export PATH="[FLUTTER_SDK_PATH]/flutter/bin:$PATH"

උදාහරණයක් වශයෙන් :

export PATH="/home/rageshl/dev/flutter/bin:$PATH"

රූප විස්තරය මෙහි ඇතුළත් කරන්න

උබුන්ටු ඩිස්ට්‍රෝ හි පියාසර කිරීම සඳහා ස්ථිර විසඳුම මෙය බව මම විශ්වාස කරමි

මෙය ප්‍රයෝජනවත් වේ යැයි සිතමි.


3

අපනයන විධානය එකතු කරන ලිපිගොනු රඳා පවතින්නේ ඔබ පිවිසුම් ප්‍රකාරයේදී හෝ පිවිසුම් නොවන ආකාරයෙන් නම්.

ඔබ පිවිසුම් මාදිලියේ සිටී නම්, ඔබ සොයන ලිපිගොනු / etc / bash හෝ /etc/bash.bashrc වේ

ඔබ පිවිසුම් නොවන මාදිලියේ සිටී නම්, ඔබ සොයන්නේ /.profile ගොනුව හෝ /.profiles.d නාමාවලිය තුළ ඇති ගොනු සඳහා ය.

පද්ධති විචල්‍යයන් තිබේ නම් ඉහත සඳහන් කළ ගොනු.


3

ස්ථිරවම 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 විචල්‍යය දැනටමත් අපනයනය කර ඇති බව සලකුණු කර ඇති බැවින් අපනයන මූල පදය බොහෝ දුරට නිෂ් less ල ය. - gniourf_gniourf


1
නෑ. ඔබ මෙහි ද්විත්ව මිල ගණන් භාවිතා නොකළ යුතුය! echo 'export PATH=$PATH:/new/path/variable'... සහ මාර්ගය වන විට, විචල්යය දැනටමත් අපනයනය ලෙස සලකුණු කර ඇති බැවින් exportප්රධාන පදය බොහෝ දුරට නිෂ් less PATHල ය.
gniourf_gniourf

නැත, ඔබ ද්විත්ව උපුටා දැක්වීම් භාවිතා කළ යුතුය. BTW අපනයනය ද ප්‍රයෝජනවත් වේ.
user3439968

මට එය තේරුණා. ඔබට ද්විත්ව උපුටා දැක්වීම් හෝ තනි උපුටා දැක්වීම් භාවිතා කළ හැකිය, මන්ද $ ප්‍රතිරාවය ක්‍රියාත්මක වන විට PATH අන්තර් මැදිහත්වීම හෝ / etc / profile ක්‍රියාත්මක වන විට අන්තර් මැදිහත්වීම.
user3439968

1
34 user3439968 ඇත්ත වශයෙන්ම, ඔබ බහු ලිපිගොනු වලින් $ PATH එකතු කළහොත් ද්විත්ව උපුටා දැක්වීම් බොහෝ ගැටලු ඇති කරයි. සලකා බලන්න: ඔබ ද්විත්ව උපුටා දැක්වීම් භාවිතා කරන විට, AT PATH කලින් අර්ථ දක්වා ඇති සියලුම PATH නාමාවලි සමඟ ස්ථිතික නූලකට පරිවර්තනය වේ. ඔබ /usr/localඑය භාවිතා කරන බව පවසන්න ~/.bashrc. දැන් ඔබ /opt/binභාවිතා කරමින් එකම විචල්‍යයට එකතු කිරීමට අදහස් කරන්නේ නම් /etc/bash.bashrc; AT PATH එකම ස්ථිතික
නූලකට පරිවර්තනය කරනු ඇත, එහි ප්‍රති result ලයක්

3

පේළිය සමඟ /etc/profile.dෆෝල්ඩර ස්ක්‍රිප්ටයට එක් කරන්න [name_of_script].sh: export PATH=$PATH:/dir. /etc/profile.dෆෝල්ඩරයේ ඇති සෑම ස්ක්‍රිප්ටයක්ම ස්වයංක්‍රීයව ක්‍රියාත්මක /etc/profileවන්නේ පුරනය වීමෙනි.


ඔබේ පරිසරය රිසිකරණය කරන්නේ කෙසේද යන්න නිර්දේශිත ක්‍රමයකි
Iurii Vasylenko

1
මෙය සිදු වන්නේ ඔබට සැකසීම් පද්ධතිය පුරා පැතිරීමට අවශ්‍ය නම් පමණි, එය බොහෝ විට බහුලව භාවිතා නොවන අවස්ථාවකි. බොහෝ පරිශීලකයින්ට අවශ්‍ය වන්නේ (හෝ අවශ්‍ය නම්) මාර්ගය දේශීයව සැකසීමටයි, මන්ද බොහෝ පරිශීලකයින් / භූමිකාවන් සන්දර්භගතව වෙනස් මෙහෙයුම් සිදු කරන අතර ඔබ කරන උපකල්පන අඩු වීම වඩා හොඳය.
mpowered

බලය, ඔව්, මෙය පද්ධතිමය වශයෙන් පමණි. ඔබට ස්ථානීය වෙනසක් PATH වෙනස් කිරීමට අවශ්‍ය නම් එකම අපනයනය ~ / .ප්‍රොෆයිල් හෝ ~ / .bashrc වලින් එකතු කළ යුතුය. මෙහිදී ඔබ සලකා බැලිය යුත්තේ පිවිසුම් කවච කියවීම ~ / .ප්‍රොෆයිල් සහ අන්තර්ක්‍රියාකාරී කවච ~ / .bashrc කියවන බවයි. මෙය ඉතා වැදගත් වන්නේ ssh උදාහරණයක් ලෙස පුරනය වීමක් නොකරන නිසා ~ / .ප්‍රොෆයිල් කියවනු නොලැබේ. / Etc / profile හි suse source ~ / .bashrc වැනි ව්‍යාප්ති කිහිපයක්. නමුත් එය සියලු ලිනක්ස් සඳහා පොදු නොවේ '
යූරි වාසිලෙන්කෝ

3

Zues77 නිවැරදි අදහස ඇත. OP "මම මේ හරහා මගේ මාර්ගය හැක් කරන්නේ කෙසේද" යනුවෙන් පවසා නැත. OP PATH වෙත ස්ථිරවම එකතු වන්නේ කෙසේදැයි දැන ගැනීමට OP ට අවශ්‍ය විය:

sudo nano /etc/profile

සෑම දෙයකටම එය සකසා ඇති ස්ථානය මෙය වන අතර අවශ්‍ය සියල්ල සඳහා එය වෙනස් කිරීමට හොඳම ස්ථානය වේ $ PATH


3

මගේ පිළිතුර සක්‍රිය කිරීම go-langසම්බන්ධයෙනි Ubuntu linux/amd64.මම පරිසර විචල්‍යයන්ගේ මාවත සැකසීමේ ( GOPATHසහ GOBIN), ටර්මිනල් පිටවීමේදී එය නැති වී source <file_name>සෑම අවස්ථාවකම එය නැවත ගොඩනඟා ගැනීමේදී ද මම මුහුණ දී සිටිමි. වැරැද්ද වූයේ මාර්ගය තැබීමයි ( GOPATHසහ GOBIN) ~/.bash_profileෆෝල්ඩරයේ. හොඳ පැය කිහිපයක් නාස්ති පසු, මම විසඳුමක් ලබා ගැනීමටය බව සොයා GOPATHහා GOBINදී ~/.bash_rcඇති ආකාරයට ගොනු:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH:$GOBIN

එසේ කිරීමෙන්, ගො ස්ථාපනය කිරීම හොඳින් ක්‍රියාත්මක වූ අතර මාර්ග අලාභයක් සිදු නොවීය.

සංස්කරණය 1: මෙම ගැටළුව සම්බන්ධ විය හැකි හේතුව නම්, අපි උබුන්ටු පර්යන්තය හෝ අපි ගෝ කේතය ධාවනය කරන ග්නෝම්-ටර්මිනල් වැනි පිවිසුම් නොවන ෂෙල් ~./bash_rcසඳහා සැකසුම් ගොනුවෙන් ලබාගෙන ඇති අතර පිවිසුම් කවච සඳහා වන සැකසුම් ~/.bash_profileගොනුවෙන් ලබාගෙන ඇති අතර , සිට ~/.profileනම් ගොනුව ~/.bash_profileගොනුව කළ නොහැක.


3

ඔබ මැකෝස් ධාවනය කරන බවත්, ඔබ විශ්වාස කරන ද්විමයක් ඇති බවත් ඔබේ පද්ධතිය හරහා ලබා දීමට කැමති බවත් කියමු. නමුත් ඔබේ පාත් එකට ද්විමය එකතු කළ යුතු නාමාවලිය අවශ්‍ය නොවේ, ඔබට පිටපත් කිරීමට / ගෙනයාමට තෝරා ගත හැකිය. /usr/local/binඔබේ PATH හි දැනටමත් තිබිය යුතු ද්විමය . මෙය ඔබගේ පර්යන්තයට දැනටමත් පිවිසිය හැකි වෙනත් ද්විමය මෙන් ද්විමය ක්‍රියාත්මක කළ හැකි වනු ඇත.


3

පහත දැක්වෙන විධානය භාවිතා කිරීමෙන් එය කෙලින්ම එකතු කළ හැකිය:

echo 'export PATH=$PATH:/new/directory' >> ~/.zshrc
source ~/.zshrc

2
ප්‍රශ්නය ලේබල් කර bashඇති බැවින් එය එතරම් ප්‍රයෝජනවත් නොවේ.
ලෝරන්ස් ඇල්බේ

2
මෙය වලංගු පිළිතුරකි -> මාතෘකාවෙහි ලිනක්ස් ගැන පමණක් සඳහන් වේ, එබැවින් බාෂ් සහ ALSO zsh විසින් කරනු ඇත ... ටැගින් කිරීම "බාෂ්" පමණක් නම් අපි ටැග් වලට "zsh" එකතු කළ යුතුය
කාලෝස් සල්ටෝස්

2

හොඳම සරල ක්‍රමය වන්නේ පහත දැක්වෙන පේළියයි:
PATH="<directory you want to include>:$PATH"
ඔබගේ .bashrc ගොනුවේ නිවාස නාමාවලියෙහි.
ඔබ ටර්මිනලය වසා දැමුවද ඔබේ පරිගණකය නැවත පණගැන්වූවත් එය නැවත සැකසෙන්නේ නැත. එහි ස්ථිරයි


1
ant ඔබ කියන දේ කරන්නේ නම්, එය ඔබගේ සැකසුම් ස්ථිරවම සකසනු ඇත. ඔබ පර්යන්තය වසා දැමුවද එය ක්‍රියාත්මක වේ.
එඩ්වඩ් ටොවල්ඩ්ස්

2

මා වෙනුවෙන් වැඩ කළ ස්ථිර මාවතක් එක් කිරීමට එක් ක්‍රමයක් නම්:

cd /etc/profile.d
touch custom.sh
vi custom.sh 
export PATH=$PATH:/path according to your setting/

ඔබේ පරිගණකය නැවත අරඹන්න, මෙන්න අපි යමු; මාර්ගය ස්ථිරවම පවතිනු ඇත.


1
ඔබේ පරිගණකය නැවත ආරම්භ කිරීමට ඔබට අවශ්‍ය නැත. පිටතට ගොස් නැවත ඇතුල් වීම ප්‍රමාණවත්ය. ලිපිගොනු සංස්කරණය කිරීමකින් තොරව ඕනෑම වෙනස්කමක් වළක්වා ගැනීම ඉතා පහසු බැවින් මෙය ඉතා අලංකාර විසඳුමකි. පද්ධතියේ ඩිරෙක්ටරියක් නොපවතින නම් එය PATH විචල්‍යයට එකතු නොවන පරිදි if ප්‍රකාශයක් සඳහන් කිරීමද පහසුය.
වෝර්වික්

sudoපද්ධති ගොනු සංස්කරණය කිරීමට ඔබ භාවිතා කළ යුතුය. මෙම ලිපිගොනු වල බාෂ් පමණක් නොවන සින්ටැක්ස් භාවිතා නොකළ යුතුය, ඒවා බාෂ් නොවන ෂෙල් වෙඩි සමඟ බෙදාගෙන ඇත. exportඔබගේ වින්‍යාසය දැනටමත් exportමෙම විචල්‍යය ගැන සැලකිලිමත් වන බැවින් ඔබට ඉවත් කළ හැකිය . එසේ නොවේ නම්, export PATHඒ වෙනුවට වෙනම පේළියක් එක් කරන්න .
ත්‍රිත්ව

එසේම, /etc/profile.dවේදිකාවට විශේෂිත වේ; මෙම නාමාවලිය නොපවතී නම්, ඔබේ මෙහෙයුම් පද්ධතිය විසින් කළමනාකරණය නොකරන ලද /etc/profileමූලාශ්‍ර (අකා .) ගොනු සඳහා විකල්ප තිබේදැයි පරීක්ෂා කර බලන්න, එවිට ඔබට මෙම පද්ධති ගොනුව කෙලින්ම සංස්කරණය කිරීමට අවශ්‍ය නොවේ.
ත්‍රිත්ව

1

මම හිතන්නේ වඩාත්ම අලංකාර ක්‍රමය නම්:

1. මෙය ~. / Bashrc ගොනුවේ ඇතුළත් කරන්න

if [ -d "new-path" ]; then
  PATH=$PATH:new-path
fi

2. මූලාශ්‍ර ~ / .bashrc

(උබුන්ටු)


ඉහත සඳහන් මාර්ගය ප්‍රදර්ශනය කිරීම සඳහා: printf "% s \ n"
AT

0

මෙය එක් ලයිනර් ය . එය රේඛාවක් එක් කරයි .bashrc. මෙම රේඛාව මඟින් ඩිරෙක්ටරිය දැනටමත් මාර්ගයට එකතු කර ඇත්දැයි පරීක්ෂා කර බලා එසේ නොවේ නම් එකතු කරනු ඇත. මෙය ඔබ මූලාශ්‍ර කරන සෑම අවස්ථාවකම ඔබේ ඩිරෙක්ටරිය මාර්ගයේ අනුපිටපත් කිරීම වළක්වනු ඇත .bashrc.

echo "[[ \":\$PATH:\" != *\":$(pwd)/path/to/add:\"* ]] && export PATH=\"\${PATH:+\${PATH}}:$(pwd)/path/to/add\"" >> ~/.bashrc

source ~/.bashrc

ඔබ සියල්ලම තනි-උපුටා දැක්වීමක් කරන්නේ නම්, කාවැද්දූ ද්විත්ව උපුටා දැක්වීම් වලින් ඔබ පසුබැසීමට අවශ්‍ය නැත.
ත්‍රිත්ව

-3

ඩෙබියන් බෙදා හැරීම සඳහා, ඔබ කළ යුත්තේ:

  • සංස්කරණය ~/.bashrcඋදා:vim ~/.bashrc
  • එකතු කරන්න export PATH=$PATH:/path/to/dir
  • ඉන්පසු ඔබේ පරිගණකය නැවත ආරම්භ කරන්න. ඔබ ~/.bashrcroot ලෙස සංස්කරණය කරන්නේ නම් , ඔබ එකතු කළ පරිසර විචල්‍යය ක්‍රියාත්මක වන්නේ root සඳහා පමණක් බව මතක තබා ගන්න
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.