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.
Har du brug for hjælp til Bash og systemopsætning? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Gør dit projekt lettere og få professionel assistance, når du har brug for det!