Cesta k ~/.local/bin není v $PATH, proč?

Cesta k ~/.local/bin není v $PATH, proč?
« kdy: 11. 02. 2019, 10:15:44 »
můžete mi někdo vysvětlit, proč nemám v proměnné $PATH cestu k ~/.local/bin ? v .profile je to napsáno a ~/.local/bin existuje. co je špatně? (Linux Mint)

Kód: [Vybrat]
pavel@tessa:~$ echo $PATH
/home/pavel/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
pavel@tessa:~$ cat .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
    fi
fi

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

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi
pavel@tessa:~$ if [ -d "$HOME/.local/bin" ] ; then echo existuje; fi
existuje
« Poslední změna: 11. 02. 2019, 14:48:25 od Petr Krčmář »


Re:~/.local/bin není v $PATH, proč?
« Odpověď #1 kdy: 11. 02. 2019, 10:58:55 »
Kód: [Vybrat]
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
Mozna toto?

Re:~/.local/bin není v $PATH, proč?
« Odpověď #2 kdy: 11. 02. 2019, 11:17:35 »
já myslel, že .profile se používá bez ohledu na shell, ale podle toho popisu to smysl dává. večer to prubnu

Re:~/.local/bin není v $PATH, proč?
« Odpověď #3 kdy: 11. 02. 2019, 11:50:32 »
já myslel, že .profile se používá bez ohledu na shell, ale podle toho popisu to smysl dává. večer to prubnu

Ona jsou ta pravidla, kdy se co presne pouzije celkem kosata...

Btw - az dostanes ten bin do cesty, tak se take ujisti, ze muzes spoustet binarky z /home. Dost casto byva mounovany tak, ze spoustet nic nejde (coz dava smysl, pokud neni napr. dotycny vyvojar...).

Re:~/.local/bin není v $PATH, proč?
« Odpověď #4 kdy: 11. 02. 2019, 11:51:42 »
Kód: [Vybrat]
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
Mozna toto?
A tím to není:
Kód: [Vybrat]
pavel@tessa:~$ ls .bash*
.bash_history  .bash_logout  .bashrc


Re:~/.local/bin není v $PATH, proč?
« Odpověď #5 kdy: 11. 02. 2019, 11:55:21 »
Takze klasicky debug... kdyz si tam das echo, tak se ti pri reloginu neco vypise? :-D
(Pokud to chces zkusit trebas u grafickeho prihlaseni, kde by se .profile mel take vzit, tak pouzij touch nebo echo presmerovane do souboru.)

Re:~/.local/bin není v $PATH, proč?
« Odpověď #6 kdy: 11. 02. 2019, 12:10:45 »
Btw - az dostanes ten bin do cesty, tak se take ujisti, ze muzes spoustet binarky z /home. Dost casto byva mounovany tak, ze spoustet nic nejde (coz dava smysl, pokud neni napr. dotycny vyvojar...).
z ~/bin mi spuštět jde , ale nevim jestli se to tam vzalo z toho .profile (pak ale nevim proč ne ten ~/.local/bin) anebo se to tam vzalo odjinud...

Re:~/.local/bin není v $PATH, proč?
« Odpověď #7 kdy: 11. 02. 2019, 12:48:46 »
Teoreticky by jsi neměl nic spouštět z home, je to bezpečnostní riziko, a pokud ano, jde to na tvé triko, jak si to nastavíš, tak to bude, spousta rad na internetu doporučuje připojit adresář home jako noexec.

k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:~/.local/bin není v $PATH, proč?
« Odpověď #8 kdy: 11. 02. 2019, 14:05:48 »
tohle si misto do .profile dej do .bashrc
Kód: [Vybrat]
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

Re:Cesta k ~/.local/bin není v $PATH, proč?
« Odpověď #9 kdy: 11. 02. 2019, 22:46:00 »
Tak já tomu nerozumim. teď večer po zapnutí tam to ~/.local/bin normálně je. Z .profile se provedly debugovací příkazy a vše je v pořádku. Koukal jsem ale do minulých BTRFS snapshotů a stejný .profile existoval už předtím dlouho. Tak nevim, kdo mi to včera z tý proměnný PATH sežral...

Re:Cesta k ~/.local/bin není v $PATH, proč?
« Odpověď #10 kdy: 13. 02. 2019, 07:55:29 »
To bude tím, že profile soubor se čte pouze v případě login shellu.

Zkus spustit terminál a z něj pak:
Kód: [Vybrat]
$ exec bash --login