Linux / Unix-də $ PATH qurmaq necə?

Yoluma bir kataloq əlavə etməyə çalışıram, belə ki, həmişə mənim Linux yolumda olacaqdır. Mən çalışdım:

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

Bu işləyir, ancaq Terminaldan çıxdığımda və terminalın yeni bir nümunəsini açdığımda bu yol itirilir və ixrac əmrini yenidən işə salmaq lazımdır.

Bunu daimi olaraq quraşdırmaq üçün necə edə bilərəm?

690
01 февр. Set Upvote seçin 01 Feb. 2013-02-01 03:57 '13 'da 3:57 2013-02-01 03:57
@ 24 cavab

~/.profile və ya ~/.bashrc ~/.profile əlavə etmək lazımdır.

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

Nə etdiyinizə bağlı olaraq ikili fayllara simvolik bağlantılar da istifadə edə bilərsiniz:

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

Qeyd edək ki, bu, sessiyanın sonuna qədər yolunuzu avtomatik olaraq yeniləməyəcəkdir. Bunun üçün çalışmanız lazımdır:

 source ~/.profile or source ~/.bashrc 
853
01 февр. cavab mpowered verildi 01 fevral. 2013-02-01 04:01 '13 saat 04:01 'da 2013-02-01 04:01

Ubuntu'da /etc/environment redaktə edin. Onun yeganə məqsədi ətraf mühiti dəyişənləri saxlamaqdır. Başlanğıcda, $ PATH dəyişən burada müəyyən edilir. Bu, /etc/environment faylından bir əlavədir:

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

Beləliklə, sadəcə olaraq bu faylı kök kimi aça və istədiyiniz hər şeyi əlavə edə bilərsiniz.

Dərhal nəticələr əldə etmək üçün (normal istifadəçi və kök kimi çalışın):

 source /etc/environment  export PATH 
border=0

ƏLAVƏ OLUNUB:

Əgər zsh (aka Z Shell) istifadə zsh , /etc/zsh/zshenv şərhlərdən sonra bu xəttini əlavə edin:

 source /etc/environment 

Ubuntu 15.10-da bu kiçik fadın içərisinə qaçdım , amma əgər zsh düzgün PATH əldə etmirsə, bu səbəb ola bilər

217
27 мая '14 в 19:27 2014-05-27 19:27 Cavab trve.fa7ad'a verildi 27 May '14, 19:27 2014-05-27 19:27

Bunun bir çox yolu var. Həqiqi qərar məqsədi asılıdır.

Dəyişən dəyərlər adətən təyinat siyahısında və ya bir sistem və ya istifadəçi seansının başında başlayan skript kabuğunda saxlanılır. Skript kabuğunda vəziyyətdə, xüsusi bir mərtəbə sintaksisindən istifadə etməlisiniz.

Sistemin eni

  • /etc/environment Benzersiz vəzifələrin siyahısı. /usr/local/something/bin kimi PATH dəyişəninə və ya JAVA_HOME tərifinə kimi sistem çapında kataloqlar əlavə etmək üçün idealdır.
  • X pəncərə sisteminin bir sessiyasını /etc/xprofile Shell script çalışır. Bu, X Window sisteminə daxil olan hər bir istifadəçi üçün edilir. Bu /usr/local/something/bin kimi hər bir istifadəçi üçün etibarlı PATH girişləri üçün yaxşı seçimdir. Fayl başqa bir skript ilə daxil edilir, belə ki, xüsusi qabığın sintaksisindən deyil, POSIX shell sözdizimindən istifadə edin.
  • /etc/profile/etc/profile.d/* Shell script. Bu qabıqlı sistemlər üçün yaxşı seçimdir. Bu fayllar yalnız mərmi ilə oxunur.
  • /etc/<shell>.<shell>rc . Shell skripti. Bu, hər bir qabıq üçün unikaldır, çünki bu, pis seçimdir.

İstifadəçi iclası

  • ~/.pam_environment . Benzersiz vəzifələrin siyahısı. Hər bir istifadəçi seansının əvvəlində PAM tərəfindən yüklənən bir sessiya və ya X Window sistemi kabuğu olmadıqda vacibdir. HOME və ya PATH daxil olmaqla, başqa bir dəyişənə istinad edə bilməzsiniz, ona görə məhdud istifadə olunur.
  • ~/.xprofile Shell script. Bu istifadəçi X Window sisteminə daxil olduqda edilir. Burada müəyyən edilmiş dəyişənlər hər bir tətbiq üçün X görünür. PATH ni ~/bin və ya ~/go/bin kimi dəyərlərlə genişləndirmək və ya xüsusi GOPATH və ya NPM_HOME müəyyən etmək üçün ideal seçimdir. Fayl başqa bir skript ilə daxil edilir, belə ki, xüsusi qabığın sintaksisindən deyil, POSIX shell sözdizimindən istifadə edin. Kısayolla çalışan qrafik mətn redaktorları və ya IDE'ler bu dəyərləri görürlər.
  • ~/.profile Shell script. Yalnız terminal və ya terminal emülatöründən gələn proqramlar üçün görünəcək. Bu qabıqlı sistemlər üçün yaxşı seçimdir.
  • ~/.<shell>rc . Shell skripti. Bu, hər bir qabıq üçün unikaldır, çünki bu, pis seçimdir.

Dağıtım üçün xüsusiyyət

131
17 нояб. Cavab 17 dekabr tarixində Grzegorz Żur tərəfindən verilmişdir . 2014-11-17 00:29 '14 'də 0:29 2014-11-17 00:29

export bəyannaməsini ~/.bashrc . My .bashrc aşağıdakıları ehtiva edir:

 export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH 
68
01 февр. cavab Fraxtil 01 fevral. 2013-02-01 03:59 '13 'da 3:59' de 2013-02-01 03:59

$PATH iki yolla daimi olaraq təyin edə bilərsiniz.

  • Müəyyən bir istifadəçi üçün yol təyin etmək üçün: istifadəçinin ev qovluğunda .bash_profile girişinə ehtiyacınız ola bilər.

    məsələn, mənim vəziyyətimdə java yolunu tomcat istifadəçi profilində təyin edəcəyəm

     [tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/tomcat/.bash_profile 
  • Sistemin bütün istifadəçiləri üçün ortaq bir yol qurmaq üçün, yolu aşağıdakı kimi təyin etmək lazımdır:

     [root~]# echo "export PATH=$PATH:/path/to/dir" >> /etc/profile 
29
03 янв. Cavab Mohit M 03 jan verildi . 2014-01-03 14:35 '14 14:35 'də 2014-01-03 14:35

Yerli bir istifadəçi üçün Centos və ya RHEL üçün istifadə edə bilərsiniz:

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

Bu, PATH-yə cari qovluğu (və ya başqa bir kataloqdan istifadə edə bilərsiniz) əlavə edəcəkdir, bu onu daimi edir, lakin növbəti dəfə girişdə qüvvəyə minəcəkdir.

Yenidən daxil istəmirsinizsə, istifadə edə bilərsiniz:

 source ~/.bash_profile 

# User specific environment and startup programs yenidən yükləmək üçün bu şərh .bash_profile

10
21 окт. Cavab Dan Daniel Antonio Nuñez Carhuayo 21 oktyabr 2016-10-21 07:11 '16 saat 07:11 'də 2016-10-21 07:11' də

Bu xəttin konsolun konfiqurasiya faylına (məsələn, .bashrc) və ya .profile əlavə edə bilərsiniz

6
01 февр. Cavab verilir Aqua 01 fevral. 2013-02-01 03:59 '13 'da 3:59' de 2013-02-01 03:59

Həm də bu fayllardan birinin daimi redaktəini qura bilərsiniz:

/etc/profile (bütün istifadəçilər üçün)

~/.bash_profile (cari istifadəçi üçün)

~/.bash_login (cari istifadəçi üçün)

~/.profile (cari istifadəçi üçün)

PATH mühit dəyişənini təyin etmək üçün /etc/environment də istifadə edə bilərsiniz, lakin dəyişən genişləndirməni dəstəkləmir .

Aşağıdakı çıxarış: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html

6
29 июня '16 в 11:59 2016-06-29 11:59 Cavab Delucaramos'a 29 İyun, '16 'da 11:59 2016-06-29 11:59 tarixində verilir

Ən zərif bir şəkildə düşünürəm:

~ / .Bashrc faylında bunu 1.add edin Bu əmri çalıştırın

gedit ~ / .bashrc

yolunuzu əlavə edin

ixrac PATH = $ PATH: / opt / node / bin

2.source ~ / .bashrc

(Ubuntu)

6
04 нояб. Cavab verilir Himanshu sharma 04 Nov. 2017-11-04 16:40 '17 'də 4:40' də 2017-11-04 16:40 'a qədər

PATH-a öz skriptlərim olan bir qovluq əlavə etmək üçün bir yol axtararkən dünən bu sualla rast gəldim və öz ~/.profile (Linux Mint 18.1-də) bu məlumatı ehtiva etdiyini öyrənməkdən təəccübləndim:

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

Beləliklə, lazım olan bütün ~/bin qovluq yaratmaq və mənim skriptləri orada qoymaq idi.

5
04 марта '17 в 14:09 2017-03-04 14:09 Cavab RobertG tərəfindən 04 Mart '17 'də 14:09 2017-03-04 14:09' də verilir

Zues77 düzgün fikrə malikdir. OB "bu yolumdan necə çıxara bilərəm" deyə demədi. OP davamlı olaraq PATH əlavə etmək üçün necə bilmək istədi:

 sudo nano /etc/profile 

Burada hər şey üçün quraşdırılır və $ PATH tələb edən hər şey üçün dəyişdirmək üçün ən yaxşı yerdir

3
25 сент. Joe D tərəfindən verilmiş cavab 25 Sep. 2015-09-25 05:26 '15 at 5:26 'də 2015-09-25 05:26

Mənim cavabım Ubuntu linux/amd64 üzərindəki go-> yaradılması ilə bağlıdır. Mən ətraf mühit dəyişənlərinin ( GOPATHGOBIN ) yolunu GOBIN , terminaldan çıxarkən onu itirən və hər dəfə source <file_name> ilə bərpa edərkən eyni problemə qaçdım. Səhv yolunu ( GOPATHGOBIN ) ~/.bash_profile qovluğuna qoymaq idi. Bəzi yaxşı saatlarını itirdikdən sonra, mən həllini ~/.bash_rc GOPATHGOBIN -ni aşağıdakı kimi ~/.bash_rc :

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

gediş qurğusu yaxşı işləyərkən və heç bir yol itkisi olmadı.

DEĞİŞİKLİK 1: Bu problemin səbəbi, giriş kodunu çalıştırdığımız ubuntu və ya gnome-terminalı kimi olmayan giriş kabuğunun parametrləri ~./bash_rc~/.bash_profile açma sistemlərinin parametrləri ~/.bash_profile faylından və ~/.profile fayl mövcud deyilsə ~/.bash_profile faylından ~/.bash_profile .

3
05 мая '17 в 0:13 2017-05-05 00:13 Cavab Abhiroj Panwar tərəfindən verilir 05 May '17 0:13 2017-05-05 00:13

Bir ixrac əmri əlavə etdiyiniz fayllar giriş rejimində olub-olmamasına və giriş rejimində olmamasına bağlıdır.

giriş rejimində olsanız, aradığınız fayllar / etc / bash və / etc / bash.bashrc

girişsiz rejimdə olsanız, /.profiles.d qovluğunda /.profile faylını və ya faylları axtarırsınız?

Sistem dəyişənləri varsa yuxarıda göstərilən fayllar.

3
05 нояб. Cavab Dikinha 05 noyabr tarixində verilir. 2013-11-05 16:35 '13 'da 16:35' da 2013-11-05 16:35

Aşağıdakı [name_of_script].sh script [name_of_script].sh qovluğunu /etc/profile.d : export PATH=$PATH:/dir . /etc/profile.d qovluğundakı hər bir skript giriş zamanı avtomatik olaraq /etc/profile ilə /etc/profile.d .

2
10 апр. Cavab Iurii 10 apr. 2015-04-10 15:12 '15 'da 15:12' de, 2015-04-10 15:12

Daimi PATH dəyişən əlavə edin

Qlobal:

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

Yerli (yalnız istifadəçi):

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

Qlobal yenidən başladın. Yerli relogin üçün.

Misal

Əvvəllər:

 $ cat /etc/profile #!/bin/sh export PATH=/usr/bin:/usr/sbin:/bin:/sbin 

Sonra:

 $ cat /etc/profile #!/bin/sh export PATH=/usr/bin:/usr/sbin:/bin:/sbin export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable 

Alternativ olaraq, profili düzəldə bilərsiniz:

 $ cat /etc/profile #!/bin/sh export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable 

Başqa bir yol (thanks gniourf_gniourf):

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

Burada cüt tirnoqlardan istifadə etməməlisiniz! Yankı ixracı PATH = $ PATH: / new / path / variable "... Və bu arada, ixracat açarı çox faydalıdır, çünki PATH değişkeni, daha çox ihraç edilmiş olaraq qeyd olunur. - gniourf_gniourf

2
14 нояб. İstifadəçi tərəfindən verilmiş cavabı 14 Noyabr. 2014-11-14 20:35 '14 saat 20:35 2014-11-14 20:35

Homebrew ilə tez qurun

Bu videonu yoxlayın

və ya

Aşağıdakı addımlar

Step 1:

Https://brew.sh/ ünvanını açın

2019

21 янв. Munish Kapoor tərəfindən verilmiş cavab Jan 21 2019-01-21 10:22 '19 saat 10:22 'da 2019-01-21 10:22

Ən zərif bir şəkildə düşünürəm:

1.dedir. / Bashrc

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

2.source ~ / .bashrc

(Ubuntu)

1
17 июля '16 в 5:50 2016-07-17 05:50 Cavab Gimcuan Hui tərəfindən verilir 17 iyul 'da 5:50 2016-07-17 05:50

Ən yaxşı üsul ən yaxşı üsuldur:
PATH="<directory you want to include>:$PATH"
ev dizininizdə .bashrc dosyanızda.
Terminalı bağladıqda və ya kompüterinizi yenidən başlasa belə bir sıfırlama almayacaqdır. Onun daimi

1
18 окт. Edward Torvalds tərəfindən verilmiş cavab 18 oktyabr 2013-10-18 20:00 '13 saat 20:00 'da 2013-10-18 20:00' də

Mənim üçün çalışan bir qalıcı yolun yollarından biri: cd / etc / profile.d sensor custom.sh vi custom.sh ixrac PATH = $ PATH: / Qurğunuzun / yenidən başlanğıcınıza uyğun olaraq, yol həmişə əylənəcəkdir.

0
28 мая '16 в 6:19 2016-05-28 06:19 user6393373 tərəfindən verilmiş cavab 28 may '16 'da 6:19 2016-05-28 06:19

Debian'ı yaymaq üçün:

  - edit ~/.bashrc eg: 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 
0
28 дек. Cavab yalnız 28 dekabr verilir. 2017-12-28 00:18 '17 'də 0:18' də 2017-12-28 00:18 'də

1. "/ etc / profile" faylını dəyişdirin.

 #vi /etc/profile 

Düzenleme vəziyyətinə daxil olmaq və imleci faylın sonuna keçmək üçün "i" düyməsini basın, Əlavə girişlər:

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

Düzenleme rejimindən çıxmaq üçün "Esc" düyməsinə basaraq ": wq" faylını saxlaya bilərsiniz.

2. konfiqurasiya effektiv ol

 source /etc/profile 

Profil faylının bütün istifadəçilər üçün işlədiyini izah edin, yalnız aktiv istifadəçi üçün etibarlı olmaq istəyirsinizsə, ".bashrc" faylını yükləyin

0
23 нояб. Cavab 23 noyabr tarixində Jia tərəfindən verilmişdir. 2018-11-23 12:24 '18 saat 12:24 'da 2018-11-23 12:24

Mən eyni problemə qaçdım və keçid dövründə PATH həmişə sıfırlanmasının səbəbini qoyduq. Bir çox axtarış işindən sonra nəhayət, bu kodu / etc / passwd faylında gördükdə bu istifadəçi sisteminin problemini başa düşürəm:

 root:x:0:0:root:/root:/usr/sbin/nologin 

Bu, bu xüsusi sistem bash kök qabığını silmək deməkdir.
Hər bir həll cəhd etdiniz, amma faydalı bir şey əldə etmədiniz. Bir istifadəçi sistemini istifadə edirsinizsə, mənim mümkün səbəbimə baxa bilərsiniz.

0
03 дек. Cavab verilən 03 Dekabr. 2017-12-03 03:40 '17, 3:40 'də 2017-12-03 03:40

Mac'te, tələb olunan faylın (yürütülebilir fayl) sadəcə /usr/local/bin/

-1
03 дек. Cavab Bhushan 03 dekabr. 2017-12-03 03:41 '17 at 3:41 2017-12-03 03:41

Aşağıdakı əmri istifadə edərək onu birbaşa əlavə edə bilərsiniz:

echo 'ixrac PATH = $ PATH: / new / directory' → ~ / .zshrc source ~ / .zshrc

-2
11 июля '16 в 14:31 2016-07-11 14:31 Cavab Anoop Nagabhushan tərəfindən verilir 11 İyul 11:16 ' da 14:31 2016-07-11 14:31

tags bağlı digər suallar və ya bir sual