GNU/Linux >> Znalost Linux >  >> Linux

Jak trvale nastavit $PATH na Linux/Unix?

Musíte jej přidat do ~/.profile nebo ~/.bashrc soubor.

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

V závislosti na tom, co děláte, můžete také chtít vytvořit symbolický odkaz na binární soubory:

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

Upozorňujeme, že toto nebude automaticky aktualizovat vaši cestu po zbytek relace. Chcete-li to provést, měli byste spustit:

source ~/.profile 
or
source ~/.bashrc

V Ubuntu upravte /etc/environment . Jeho jediným účelem je ukládat proměnné prostředí . Původně zde byla definována proměnná $PATH.

Toto je pasta z mého /etc/environment soubor:

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

Takže můžete tento soubor otevřít jako root a přidat, co chcete.

Na okamžité výsledky,

Spustit (zkuste jako normální uživatel a kořen):

source /etc/environment && export PATH

Pokud používáte Z shell (zsh ), přidejte tento řádek hned za komentáře v /etc/zsh/zshenv soubor:

source /etc/environment

Na Ubuntu 15.10 (Wily Werewolf) jsem narazil na tuto malou zvláštnost, ale pokud vaše zsh nezískává správnou PATH , to může být důvod.


Existuje několik způsobů, jak to udělat. Skutečné řešení závisí na účelu.

Hodnoty proměnných jsou obvykle uloženy buď v seznamu přiřazení, nebo ve skriptu shellu, který je spuštěn na začátku systémové nebo uživatelské relace. V případě shell skriptu musíte použít specifickou syntaxi shellu a export nebo set příkazy.

Široký systém

  1. /etc/environment Seznam jedinečných úkolů. Umožňuje odkazy. Ideální pro přidávání systémových adresářů jako /usr/local/something/bin na PATH proměnná nebo definující JAVA_HOME . Používá PAM a systemd.

  2. /etc/environment.d/*.conf Seznam jedinečných úkolů. Umožňuje odkazy. Ideální pro přidávání systémových adresářů jako /usr/local/something/bin na PATH proměnná nebo definující JAVA_HOME . Konfigurace může být rozdělena do více souborů, obvykle jeden pro každý nástroj (Java, Go a Node.js). Používá systemd, který podle návrhu nepředává tyto hodnoty do přihlašovacích shellů uživatelů.

  3. /etc/xprofile Skript Shell byl spuštěn při spouštění relace X Window System. Toto je spuštěno pro každého uživatele, který se přihlásí do X Window System. Je to dobrá volba pro PATH záznamy, které jsou platné pro každého uživatele, jako je /usr/local/something/bin . Soubor je součástí jiného skriptu, takže použijte syntaxi shellu POSIX, nikoli syntaxi vašeho uživatelského shellu.

  4. /etc/profile a /etc/profile.d/* Shell skript. Toto je dobrá volba pro systémy pouze pro shell. Tyto soubory čtou pouze shelly v přihlašovacím režimu.

  5. /etc/<shell>.<shell>rc . Shell skript. Toto je špatná volba, protože je specifická pro jeden shell. Používá se v režimu bez přihlášení.

Uživatelská relace

  1. ~/.pam_environment . Seznam jedinečných přiřazení, žádné odkazy nejsou povoleny. Načteno PAM na začátku každé uživatelské relace bez ohledu na to, zda se jedná o relaci X Window System nebo shell. Nemůžete odkazovat na jiné proměnné včetně HOME nebo PATH takže má omezené použití. Používá PAM.

  2. ~/.xprofile Shell skript. To se provede, když se uživatel přihlásí do systému X Window System. Zde definované proměnné jsou viditelné pro každou X aplikaci. Perfektní volba pro rozšíření PATH s hodnotami jako ~/bin nebo ~/go/bin nebo definování GOPATH specifického pro uživatele nebo NPM_HOME . Soubor je součástí jiného skriptu, takže použijte syntaxi shellu POSIX, nikoli syntaxi vašeho uživatelského shellu. Váš grafický textový editor nebo IDE spuštěné zkratkou tyto hodnoty uvidí.

  3. ~/.profile , ~/.<shell>_profile , ~/.<shell>_login Shell skript. Bude viditelný pouze pro programy spouštěné z terminálu nebo emulátoru terminálu. Je to dobrá volba pro systémy pouze pro shell. Používané shelly v přihlašovacím režimu.

  4. ~/.<shell>rc . Shell skript. Toto je špatná volba, protože je specifická pro jeden shell. Používané shelly v režimu bez přihlášení.

Poznámky

GNOME na Wayland spustí přihlašovací shell uživatele, aby získal prostředí. Efektivně využívá konfigurace přihlašovacího shellu ~/.profile , ~/.<shell>_profile , ~/.<shell>_login soubory.

Manuálové stránky

  • životní prostředí
  • environment.d https://linux.die.net/man/1/environment.d
  • bash
  • pomlčka

Dokumentace specifická pro distribuci

  • Ubuntu
  • Arch Linux

Rozdíl mezi přihlašovacím prostředím a prostředím bez přihlášení?


Linux
  1. Jak nastavit proměnnou uživatelského prostředí? (trvale, ne relace)?

  2. Jak změnit (trvale) výchozí prostředí po přihlášení na konkrétním Ttynu v Linuxu?

  3. Jak změnit Shell v Linuxu

  1. Jak nastavit proměnnou $PATH v Linuxu

  2. Jak nastavit proměnnou $Path v Linuxu

  3. UNIX / Linux :Jak nainstalovat a nakonfigurovat mutt

  1. Naučte se, jak trvale nastavit proměnné $PATH v Linuxu

  2. Jak trvale nastavit $PATH v Linuxu

  3. Jak nastavit/vytvořit proměnné prostředí a prostředí v Linuxu