Path-variabele (Bash)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Naam

Dat ding heet $PATH in hoofdletters. Niet $path-in-kleine letters

Weergave

Huidige waarde van $PATH weergeven - Voorbeeld:

echo $PATH

/home/strompf/bin:/home/strompf/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Toevoegingen

Bv.

PATH=/usr/local/bin/wp:$PATH

De gebruikelijke plek daarvoor, is in bestand .bashrc. Daarna kun je dit bestand uitvoeren met bv. source ~/.bashrc.

Path & sudo

Het probleem:

strompf@Dell2017 ~ $ testscript.sh
Dit is het testscript

strompf@Dell2017 ~ $ sudo testscript.sh
sudo: testscript.sh: command not found

strompf@Dell2017 ~ $ sudo -E testscript.sh
sudo: testscript.sh: command not found

sudo -E betekent preserve environment, maar dat wordt genegeerd ivm. beveiligingsissues.

Oplossing: sudo visudo. Pas de waarde voor secure path bv. als volgt aan:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/strompf/Dropbox/Scripts"

Path & su

Ik ben een stap verder, maar er is nog steeds een probleem, nu rondom su:

strompf@Dell2017 ~ $ testscript.sh
Dit is het testscript

strompf@Dell2017 ~ $ sudo testscript.sh
Dit is het testscript

strompf@Dell2017 ~ $ su
Password: 

Dell2017 strompf # testscript.sh
testscript.sh: command not found

Uitleg: Ik begreep dat su écht een ander account is, met z'n eigen PATH-variabele -- Whatever: Ik gebruik su bijna nooit, geloof ik.

Bronnen