Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: Razmir 11. 02. 2019, 10:15:44

Název: Cesta k ~/.local/bin není v $PATH, proč?
Přispěvatel: Razmir 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
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: Ondra Satai Nekola 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?
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: Razmir 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
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: Ondra Satai Nekola 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...).
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: Razmir 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
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: Ondra Satai Nekola 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.)
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: Razmir 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...
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: starejkarlik 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.
Název: Re:~/.local/bin není v $PATH, proč?
Přispěvatel: k3dAR 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
Název: Re:Cesta k ~/.local/bin není v $PATH, proč?
Přispěvatel: Razmir 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...
Název: Re:Cesta k ~/.local/bin není v $PATH, proč?
Přispěvatel: Ivan Večeřa 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