Kolon-kommandoen i Bash er en indbygget funktion, der ofte bruges til at udføre en no-op (ingen operation). Den kan også bruges i forskellige sammenhænge, herunder til at sætte variabler uden at overskrive dem, der allerede er sat med export
. Her er en forklaring på, hvordan det fungerer:
:
) er en indbygget Bash-kommando, der returnerer en exit-status på 0, hvilket betyder succes. Den udfører ingen handlinger og bruges ofte som en no-op.${VAR:=default_value}
. Hvis VAR
ikke er sat eller er tom, vil den blive sat til default_value
. Hvis VAR
allerede er sat, forbliver dens værdi uændret.Eksempel:
#!/bin/bash
: ${MY_VAR:=default_value}
echo $MY_VAR
I dette eksempel:
MY_VAR
ikke er sat, vil den blive sat til default_value
.MY_VAR
allerede er sat, vil dens værdi forblive uændret.Logikken bag brugen af :
i .bashrc:
.bashrc
til at initialisere variabler med standardværdier uden at overskrive eksisterende værdier. Dette sikrer, at brugerens miljøvariabler bevares, mens der stadig gives standardværdier, hvis de ikke er sat.Eksempel på brug i .bashrc
:
# Set default editor if not already set
: ${EDITOR:=nano}
# Set default path if not already set
: ${PATH:=/usr/local/bin:/usr/bin:/bin}
I dette eksempel:
EDITOR
vil blive sat til nano
, hvis den ikke allerede er sat.PATH
vil blive sat til /usr/local/bin:/usr/bin:/bin
, hvis den ikke allerede er sat.Ved at bruge kolon-kommandoen på denne måde kan du sikre, at dine scripts og konfigurationsfiler er robuste og fleksible, samtidig med at du undgår utilsigtet overskrivning af eksisterende variabler.
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