Parameter Substitution (Bash): verschil tussen versies
Regel 2: | Regel 2: | ||
Parameter expansion wordt aangegeven met <code>$</code>, vaak in combinatie met accolades: <code>${}</code>, of nog completer: <code>${parameter}</code>. | Parameter expansion wordt aangegeven met <code>$</code>, vaak in combinatie met accolades: <code>${}</code>, of nog completer: <code>${parameter}</code>. | ||
+ | |||
+ | == ${} == | ||
Zoiets simpels als het weergeven van de waarde van een variabele, is al een voorbeeld van parameter substitution: | Zoiets simpels als het weergeven van de waarde van een variabele, is al een voorbeeld van parameter substitution: | ||
Regel 8: | Regel 10: | ||
$ a=12 | $ a=12 | ||
$ echo $a | $ echo $a | ||
+ | |||
+ | 12 | ||
+ | </pre> | ||
+ | |||
+ | Door accolades toe te voegen, is het concept van ''expansie'' misschien nog duidelijker: | ||
+ | |||
+ | <pre> | ||
+ | $ a=12 | ||
+ | $ echo ${i} | ||
12 | 12 |
Versie van 1 aug 2021 18:52
Parameter substitution, parameter expansion of shell parameter expansion betekent dat in een Bash-expressie een parameter of variabele wordt vervangen door de inhoud van die variabele, al of niet in combinatie met een bewerking.
Parameter expansion wordt aangegeven met $
, vaak in combinatie met accolades: ${}
, of nog completer: ${parameter}
.
${}
Zoiets simpels als het weergeven van de waarde van een variabele, is al een voorbeeld van parameter substitution:
$ a=12 $ echo $a 12
Door accolades toe te voegen, is het concept van expansie misschien nog duidelijker:
$ a=12 $ echo ${i} 12
Afhankelijk van de gebruikte syntaxis, kun je substitutie combineren met bewerkingen. Daar kun je verbazend veel mee doen, waaronder find-&-replace.
Find-&-replace
Gelijk al een raar voorbeeld: Het eerste argument moet een variabele zijn, maar de tweede en derde zijn literals???
naam="Janneke" echo ${naam/a/A} JAnneke # Dit doet nix, want variable heeft geen waarde: # echo ${Jasper/a/A} # Dit geeft foutmelding - Snap ik niet # echo ${"Jasper"/a/A} echo ${"Jasper"/a/A}: bad substitution