Bash-funktion til at tilføje mappe til $PATH kun hvis den ikke allerede er der

Er der nogen, der har skrevet en bash-funktion til at tilføje en mappe til $PATH, kun hvis den ikke allerede er der?

Der findes flere eksempler på bash-funktioner, der kan tilføje en mappe til $PATH, kun hvis den ikke allerede er der, og en simpel metode er at bruge en funktion som add_to_path().

Er der nogen, der har skrevet en bash-funktion til at tilføje en mappe til $PATH, kun hvis den ikke allerede er der?

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.

Opret din første opgave på få minutter

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

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker