it-swarm-tr.com

Linux/Unix'te $ PATH kalıcı olarak nasıl ayarlanır?

Yoluma bir dizin eklemeye çalışıyorum, böylece her zaman Linux yolumda olacak. Denedim:

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

Bu işe yarar, ancak her terminalden çıkıp yeni bir terminal örneği başlattığımda, bu yol kayboluyor ve export komutunu tekrar çalıştırmam gerekiyor.

Bunu kalıcı olarak ayarlayabilmek için nasıl yapabilirim?

700
Click Upvote

~/.profile veya ~/.bashrc dosyanıza eklemeniz gerekir.

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

Ne yaptığınıza bağlı olarak, ikili dosyalara bağlanmak isteyebilirsiniz:

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

Bu oturumun geri kalanı için yolunuzu otomatik olarak güncellemeyeceğini unutmayın. Bunu yapmak için, koşmalısınız:

source ~/.profile 
or
source ~/.bashrc
884
mpowered

Ubuntu'da /etc/environment dosyasını düzenleyin. Tek amacı, Çevre Değişkenlerini saklamak. Başlangıçta $ PATH değişkeni burada tanımlanır .. Bu benim /etc/environment dosyamdan yapılan bir macun:

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

Böylece bu dosyayı root olarak açabilir ve ne istersen ekleyebilirsiniz.

Hemen sonuç için, Çalıştır (normal kullanıcı olarak deneyin ve root):

source /etc/environment && export PATH

UPDATE:

zsh (a.k.a Z Shell) kullanıyorsanız, bu satırı /etc/zsh/zshenv'deki yorumlardan hemen sonra ekleyin:

source /etc/environment

Ubuntu 15.10'da bu küçük tuhaflıkla karşılaştım, ancak eğer zsh doğru bir şey almıyorsa YOL, bu yüzden olabilir

220
trve.fa7ad

Bunu yapmanın birden fazla yolu var. Asıl çözüm amaca bağlıdır.

Değişken değerler genellikle sistemin başında veya kullanıcı oturumunda çalıştırılan bir atama listesinde veya bir Shell komut dosyasında depolanır. Shell betiği durumunda, belirli bir Shell sözdizimi kullanmanız gerekir.

Geniş sistem

  1. /etc/environment Benzersiz ödevlerin listesi. /usr/local/something/bin __ PATH değişkenine sistem çapında dizinler eklemek veya Java_HOME öğesini tanımlamak için mükemmeldir.
  2. /etc/xprofile X Pencere Sistemi oturumu başlatılırken Shell komut dosyası çalıştırıldı. Bu, X Pencere Sistemine giriş yapan her kullanıcı için çalıştırılır. /usr/local/something/bin gibi her kullanıcı için geçerli olan PATH girişleri için iyi bir seçimdir. Dosya başka bir betiğe eklenmiştir, bu nedenle kullanıcı Kabuğunuzun sözdizimini değil POSIX Shell sözdizimini kullanın.
  3. /etc/profile ve /etc/profile.d/* Shell komut dosyası. Bu sadece Shell sistemler için iyi bir seçimdir. Bu dosyalar sadece kabuklar tarafından okunur.
  4. /etc/<Shell>.<Shell>rc. Kabuk betiği. Bu, tek bir Shell'e özgü olduğu için kötü bir seçim.

Kullanıcı oturumu

  1. ~/.pam_environment. Benzersiz ödevlerin listesi. PAM tarafından yüklenen, bir X Pencere Sistemi oturumu veya Shell ise, her kullanıcı oturumunun başlangıcında ilgisizdir. HOME veya PATH dahil diğer değişkenlere referans veremezsiniz, bu nedenle kullanımı sınırlıdır.
  2. ~/.xprofile Kabuk betiği. Bu, kullanıcı X Pencere Sistemi sistemine giriş yaptığında gerçekleştirilir. Burada tanımlanan değişkenler her X uygulamasında görülebilir. PATH, ~/bin veya ~/go/bin gibi değerlerle genişletmek veya kullanıcıya özel GOPATH veya NPM_HOME tanımlamak için mükemmel seçim. Dosya başka bir betiğe eklenmiştir, bu nedenle kullanıcı Kabuğunuzun sözdizimini değil POSIX Shell sözdizimini kullanın. Grafik metin editörünüz veya kısayol tarafından başlatılan IDE bu değerleri görecektir.
  3. ~/.profile Kabuk betiği. Sadece terminal veya terminal emülatöründen başlatılan programlar için görülebilir. Sadece Shell sistemler için iyi bir seçimdir.
  4. ~/.<Shell>rc. Kabuk betiği. Bu, tek bir Shell'e özgü olduğu için kötü bir seçim.

Dağıtıma özgü belgeler

132
Grzegorz Żur

export bildirgesini ~/.bashrc içine koyun. Benim .bashrc bunu içerir:

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

$PATH öğesini 2 yolla kalıcı olarak ayarlayabilirsiniz.

  1. Belirli bir kullanıcının yolunu ayarlamak için: Girdiyi kullanıcı içindeki ana dizinde .bash_profile içinde yapmanız gerekebilir.

    örneğin benim durumumda Tomcat kullanıcı profilinde Java yolunu ayarlayacağım

    [Tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/Tomcat/.bash_profile
    
  2. TÜM sistem kullanıcıları için ortak yol ayarlamak için, şu yolu ayarlamanız gerekebilir:

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

Yerel kullanıcılar için Centos veya RHEL'de kullanabilirsiniz:

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

Bu, geçerli dizini (veya başka bir dizini kullanabilirsiniz) PATH'a ekler, bu onu kalıcı kılar, ancak bir sonraki kullanıcı oturum açmada etkinleşir.

Yeniden oturum açmak istemiyorsanız, şunu kullanabilirsiniz:

source ~/.bash_profile

Bu # User specific environment and startup programs 'u yeniden yükleyen bu yorum .bash_profile' da mevcut

Bu satırı konsol yapılandırma dosyanıza (ör.

6
aqua

Bence en zarif yol:

1. ~/.bashrc dosyasına ekleyin. Bu komutu çalıştır

gedit ~/.bashrc

içine yolunu ekle 

dışa aktarma PATH = $ PATH:/opt/düğüm/kutu

2. kaynak ~/.bashrc

(Ubuntu)

6
Himanshu sharma

Bu dosyalardan birini düzenleyerek kalıcı olarak da ayarlayabilirsiniz:

/etc/profile (tüm kullanıcılar için)

~/.bash_profile (mevcut kullanıcı için)

~/.bash_login (mevcut kullanıcı için)

~/.profile (mevcut kullanıcı için)

Kalıcı bir PATH ortam değişkeni ayarlamak için /etc/environment öğesini de kullanabilirsiniz, ancak değişken genişlemesini desteklemiyor

Çıkarılan: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html

6
Delucaramos

Dün PATH'e kendi scriptlerimi içeren bir klasör eklemenin bir yolunu ararken bu soruya rastladım - ve kendi ~/.profile dosyamın (Linux Mint 18.1'de) zaten bunu içerdiğine şaşırdım: 

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

Böylece, tek yapmam gereken ~/bin klasörünü oluşturmak ve komut dosyalarımı buraya koymaktı.

5
RobertG

verme komutunu eklediğiniz dosyalar, oturum açma modunda veya oturum açma modunda değilseniz.

oturum açma modundaysanız, aradığınız dosyalar/etc/bash veya /etc/bash.bashrc olabilir.

oturum açma modu dışındaysanız, /.profile dosyasını veya /.profiles.d dizini içindeki dosyaları ararsınız.

sistem değişkenleri ise yukarıda belirtilen dosyalar.

3
Dikinha

Zues77 doğru fikri var. OP "bu yoldan nasıl girebilirim" demedi. OP $ PATH'a kalıcı olarak nasıl ekleneceğini bilmek istedi:

Sudo nano /etc/profile

Burası her şey için ayarlanmış ve $ PATH gerektiren her şey için onu değiştirmek için en iyi yer

3
Joe D

Benim cevabım go-lang üzerindeki Ubuntu linux/AMD64 ayarlarına atıfta bulunuyor. Terminal değişkenlerinde (GOPATH ve GOBIN) ortam değişkenlerinin yolunu ayarlama, aynı zamanda terminal çıkışında kaybetme ve her zaman source <file_name> kullanarak yeniden oluşturma ile aynı sıkıntıyla karşılaştım. yolu (GOPATH ve GOBIN) ~/.bash_profile klasörüne koymaktı. Birkaç iyi saati boşa harcadıktan sonra, çözümün ~/.bash_rc dosyasına GOPATH ve GOBIN dosyalarını koymak olduğunu gördüm:

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

ve böyle yaparak, go kurulumu iyi çalıştı ve yol kaybı olmadı. 

EDIT 1: Bu sorunun çözülmesinin nedeni, ubuntu terminaliniz veya gnome-terminaliniz gibi giriş yapma kabukları ayarlarının, go kodunu çalıştırdığımız gnome terminalinin ~./bash_rc dosyasından alınması ve giriş kabukları ayarlarının alınmasıdır. ~/.bash_profile dosyasından ve ~/.profile dosyasına erişilemiyorsa ~/.bash_profile dosyasından. 

3
Abhiroj Panwar

/etc/profile.d klasörüne [name_of_script].sh satırı ekleyerek export PATH=$PATH:/dir. /etc/profile.d klasörü içindeki her komut dosyası, oturum açma sırasında /etc/profile tarafından otomatik olarak yürütülür.

2
Iurii

Kalıcı olarak PATH değişkeni ekle

Global:

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

Yerel (yalnızca kullanıcı için):

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

global restart için. yerel relogin için.

Örnek

Önce:

$ 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

Alternatif olarak sadece profili düzenleyebilirsiniz:

$ cat /etc/profile 

#!/bin/sh

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

Başka bir yol (teşekkürler gniourf_gniourf):

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

Burada çift tırnak kullanmamalısınız! echo 'export PATH = $ PATH:/new/yol/değişken '... Ve bu arada, ihracat anahtar sözcüğü PATH değişkeni zaten büyük olasılıkla olduğundan oldukça yararsızdır. dışa aktarıldı olarak işaretlendi. - gniourf_gniourf

2
user3439968

Bence en zarif yol:

1. bunu ~./Bashrc dosyasına ekleyin.

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

2. kaynak ~/.bashrc

(Ubuntu)

1
Gimcuan Hui

en basit yol şu satırdır:
PATH="<directory you want to include>:$PATH"
.bashrc dosyanızdaki ana dizinde.
Terminali kapatsanız veya bilgisayarınızı yeniden başlatsanız bile sıfırlanmayacaktır. Kalıcı

1
Edward Torvalds

Debian dağıtımı için yapmanız gerekenler:

    - 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
0
onlyme

benim için çalışan kalıcı yolu eklemenin bir yolu şudur: cd/etc/profile.d custom.sh .__ 'a dokunun. vi custom.sh ihracat PATH = $ PATH:/yol ayarlarınıza göre /.

0
user6393373

Homebrew kullanarak hızlı kurulum

bunu kontrol et video

veya

aşağıdaki adımlar

Step 1:

Açık https://brew.sh/

enter image description here

Kopyala/URLüstündeki ekran görüntüsünü gösterdi

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

Yapıştır/ kopyalandıURLterminalve return/enter tuşuna basın

Sizyaptıktan sonra/ ileHomebrew kurulumufollowAdım 2:

Step 2:Terraform indirden https://www.terraform.io/downloads.html

özüİndirilenPosta terraform dosyası

Şimdi indirilen klasörde bir dosya adınız terraform olacak

Örneğin

/Users/username/downloads/terraform

Step 3:

Bir terminal açın

cd: dizini /Users/username/downloads/terraform olarak değiştir

Step 4:

runbrew install terraformterminal

0
Munish Kapoor

Diyelim ki MacOS kullanıyorsunuz ve güvendiğiniz ve sisteminizde kullanılabilir hale getirmek istediğiniz bir ikili kodunuz var, ancak ikili bilgisayarın PATH'inize ekleneceği dizini istemeyin, kopyalamak/taşımak isteyebilirsiniz. zaten [PATH] içinde olması gereken /usr/local/bin öğesine çift. Bu, ikilinin terminalinizde zaten erişebildiğiniz diğer ikili dosyalar gibi çalıştırılabilir olmasını sağlayacaktır.

0
Leo

1. "/ etc/profile" dosyasını değiştir.

#vi /etc/profile

Düzenleme durumuna girmek ve imleci dosyanın sonuna getirmek için "i" tuşuna basın, Ek girişler :

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

"Esc" tuşuna basın düzenleme durumundan çıkın ': wq' dosyayı kaydedin.

2. etkili yapılandırma yapmak

source /etc/profile

Açıklamak: profil dosyası tüm kullanıcılar için çalışır, yalnızca etkin kullanıcı için geçerli olmak istiyorsanız ".bashrc" dosyasını ayarlayın.

0
Jia