Ja, der findes flere eksempler på bash-funktioner, der kan tilføje en mappe til $PATH
, kun hvis den ikke allerede er der. Her er en simpel og effektiv måde at gøre det på:
add_to_path() {
if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
PATH="${PATH:+"$PATH:"}$1"
fi
}
Forklaring af funktionen:
if [ -d "$1" ]
: Tjekker om argumentet er en gyldig mappe.[[ ":$PATH:" != *":$1:"* ]]
: Tjekker om mappen allerede er i $PATH
. Ved at tilføje koloner (:
) før og efter $PATH
og $1
, sikrer vi, at vi kun matcher hele mappestier.PATH="${PATH:+"$PATH:"}$1"
: Tilføjer mappen til $PATH
, hvis den ikke allerede er der. ${PATH:+...}
sikrer, at der kun tilføjes en kolon, hvis $PATH
allerede har en værdi.Sådan bruger du funktionen:
add_to_path /ny/mappe/stier
Dette vil tilføje /ny/mappe/stier
til $PATH
, hvis den ikke allerede er der.
For at gøre funktionen permanent tilgængelig, kan du tilføje den til din ~/.bashrc
eller ~/.bash_profile
fil:
echo 'add_to_path() {
if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
PATH="${PATH:+"$PATH:"}$1"
fi
}' >> ~/.bashrc
source ~/.bashrc
Dette vil sikre, at funktionen er tilgængelig i alle dine bash-sessioner.
Spar dig selv for besvær og kom igennem din to-do liste i dag
1
Beskriv din opgave
2
Modtag bud
3
Få løst din opgave
Møbelsamling
Hjælp med at samle Ikea klædeskab
Maler
Klargøring af lejlighed til flyttesyn
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Havearbejde
Beskæring af 4 større træer
IT support
Geninstallering af windows + programmer
Elektriker
Installation af Sonos musikanlæg i hus
Rengøring
Ugentlig rengøring af lejlighed (114kvm)
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Elektriker
Opsætning af lamper i stue og soveværelse
Catering
3-retters menu til 14 mennesker