it-swarm-eu.dev

Jak přidat adresář do PATH?

Jak přidám adresář do $PATH v Ubuntu a provést změny trvalé?

756
justingrif

Pomocí ~/.profilu nastavte $ PATH

Cesta nastavená v .bash_profile bude nastaveno pouze v bash přihlašovacím prostředí (bash -l). Pokud zadáte cestu do .profile bude k dispozici pro celou vaši relaci na ploše. To znamená, že ji použije i metacita.

Například ~/.profile:

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi

Btw, můžete zkontrolovat proměnnou PATH procesu tím, že se podíváte na jeho prostředí v /proc/[pid]/environ (nahraďte [pid] číslem od ps axf). Např. použijte grep -z "^PATH" /proc/[pid]/environ

Poznámka:

bash jako přihlašovací Shell nerozebírá .profile pokud buď .bash_profile nebo .bash_login existuje. Z man bash:

hledá v tomto pořadí ~/.bash_profile, ~/.bash_login a ~/.profile a přečte a provede příkazy z prvního, který existuje a je čitelný.

Informace o .pam_environment nebo .bashrc pro interaktivní prostředí bez přihlášení, nebo nastavte hodnotu globálně pro všechny uživatele vložením skriptu do /etc/profile.d/ nebo použijte /etc/X11/Xsession.d/ ovlivní relaci správce zobrazení.

470
ko-dos

Upravit .bashrc ve vašem domovském adresáři a přidejte následující řádek:

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

Budete muset zadat zdroj .bashrc nebo odhlášení/přihlášení (nebo restart terminálu), aby se změny projevily. Chcete-li získat zdroj .bashrc, jednoduše napište

$ source ~/.bashrc
322
Ophidian

Doporučené místo pro definování permanentních proměnných prostředí celého systému , které se vztahují na všechny uživatele, je:

/etc/environment

(což je místo, kde je definován výchozí PATH)

To bude fungovat na ploše nebo konzole, gnome terminálu nebo TTY, dešti nebo záři;)

  • Chcete-li upravit, stiskněte Alt+F2 a typ:

    gksudo gedit /etc/environment
    

    (nebo otevřete soubor pomocí Sudo ve vašem oblíbeném textovém editoru)

Chcete-li provést změny, spusťte . /etc/environment. Protože je tento soubor pouze jednoduchým skriptem, spustí se a přiřadí novou cestu k proměnné prostředí PATH. Chcete-li zkontrolovat běh env a zobrazit hodnotu PATH v seznamu.

Související:

125
ish

Myslím, že kanonickým způsobem v Ubuntu je:

  • vytvořit nový soubor pod /etc/profile.d/

    Sudo vi /etc/profile.d/SCRIPT_NAME.sh
    
  • přidat tam:

    export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
    
  • a udělit mu oprávnění k provedení

    Sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
    
59
woto

Pro úplné nováčky (jako jsem já), kteří jsou s GUI pohodlnější:

  1. Otevři tvůj $HOME složka.
  2. Přejděte na ZobrazitZobrazit skryté soubory nebo stiskněte Ctrl + H.
  3. Klikněte pravým tlačítkem na .profile a klikněte na Open With Text Editor.
  4. Přejděte dolů a přidejte PATH="$PATH:/my/path/foo".
  5. Uložit.
  6. Odhlaste se a přihlaste se zpět, abyste mohli použít změny (nechat Ubuntu skutečně načíst .profile).
47
dain

Pro trvalé proměnné prostředí dostupné pouze určitým uživatelům. Velmi doporučuji oficiální dokumentaci Ubuntu.

https://help.ubuntu.com/community/EnvironmentVariables

S odkazem na výše uvedenou dokumentaci jsem si nastavil Android-SDK path-tools podle:

  1. vytváření ~/.pam_environment soubor v domovském adresáři.
  2. jehož obsah je PATH DEFAULT=${PATH}:~/Android-sdk-linux/tools.
  3. další vlastní cestu uživatele lze přidat oddělením cest pomocí dvojtečky (:) .
  4. to vyžaduje opětovné přihlášení , což znamená, že se musíte odhlásit a přihlásit se zpět do desktopového prostředí.
46
Eduardo B.

Vložte tento řádek do svého ~/.bashrc soubor.

Získává se při každém otevření terminálu

EDITOVAT : Obecnější nastavení, které se bude vztahovat na všechny skořápky (včetně zásahu po zásahu) Alt-F2 v jednotě) přidejte řádek do svého ~/.profile soubor. Pravděpodobně by to však nemělo dělat obojí, protože cesta bude přidána dvakrát do prostředí PATH, pokud otevřete terminál.

26
Ian B.

Chcete-li nastavit systém široký, připojte řádek export PATH=/path/you're/adding:$PATH do konce /etc/profile.

Chcete-li přidat adresář pouze pro přihlášeného uživatele, připojte stejný řádek k ~/.bash_profile.

15
ennuikiller

Přidání do .bashrc bude fungovat, ale myslím, že tradiční způsob nastavení proměnných cesty je v .bash_profile přidáním následujících řádků.

PATH=$PATH:/my/path/foo
export PATH

Podle toto vlákno se zdá, jako by se chování Ubuntu mírně lišilo od RedHat a klonů.

14
3dinfluence

V terminálu cd to the_directory_you_want_to_add_in_the_path

echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc

To nebyl můj nápad. Našel jsem tento způsob, jak exportovat cestu na tomto blog zde .

10
Sudo vi /etc/profile.d/SCRIPT_NAME.sh

přidat tam

export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
8
Clipping Path

Kdykoli "instaluji" svou složku BASH skriptů, sleduji vzor testu pro $HOME/bin složka, která je ve většině souborů .profile v posledních verzích Ubuntu. Nastavil jsem test, který vypadá

if [ -d "/usr/scripts" ]; then
   PATH="/usr/scripts:$PATH"
fi

Funguje to asi 100% času a ponechává mě volnost, abych jej změnil v textovém editoru grafického uživatelského rozhraní s rychlým „Nahradit vše“, pokud bych se kdy rozhodl přesunout /scripts někde blíže mému $HOME složka. Neučinil jsem tak v 6 instalacích Ubuntu, ale je tu „vždy zítra“. S

BZT

6
Silversleevesx

Doporučený způsob úpravy vašeho PATH je z /etc/environment soubor

Příklad výstupu /etc/environment:

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

Například přidat novou cestu /home/username/mydir

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"

Poté restartujte počítač.


Proměnné prostředí celého systému

Vhodný soubor pro nastavení proměnných prostředí, které ovlivňují systém jako celek (spíše než jen konkrétního uživatele), je/etc/environment. Alternativou je vytvoření souboru za tímto účelem v adresáři /etc/profile.d.

/etc/environment

Tento soubor je speciálně určen pro nastavení proměnných prostředí celého systému. Nejedná se o soubor skriptu, ale spíše o výrazy přiřazení, jeden na řádek.

Poznámka: Variabilní rozšíření nefunguje v/etc/environment.

Více informací najdete zde: EnvironmentVariables

6
Benny

Otevřete terminál, zadejte gedit .profile a vložte následující:

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

 #the following line add Bin where you dont have a Bin folder on your $HOME
    PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"

Zavřete a otevřete terminál, mělo by to fungovat.

4
djavier

Dejte to do svého ~/.bashrc nebo cokoli, co používáte rc (nebo k výše uvedenému ~/.profile) A ~/.xsessionrc tak to bude také fungovat v X (mimo Shell).

2
Mikaela

I když to systémové skripty nepoužívají, v kterémkoli z případů, kdy si člověk přeje přidat cestu (např. $HOME/bin) k proměnné prostředí PATH je třeba použít

PATH="${PATH:+${PATH}:}$HOME/bin"

pro připojení (místo PATH="$PATH:$HOME/bin"), a

PATH="$HOME/bin${PATH:+:${PATH}}"

pro přípravu (namísto PATH="$HOME/bin:$PATH").

Tím se zabrání falešnému vedoucímu/koncovému tlustému střevu, když $PATH je zpočátku prázdný, což může mít nežádoucí účinky.

Viz např. https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset