Parameter Substitution (Bash): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 1: | Regel 1: | ||
− | ''Parameter substitution'' of ''parameter expansion'' betekent dat in een Bash-expressie een variabele wordt vervangen door de inhoud van die variabele. Plus nog wat extra's waaronder ''find-&-replace''. Krachtig spul! | + | ''Parameter substitution'' of ''parameter expansion'' betekent dat in een Bash-expressie een ''parameter'' of ''variabele'' wordt vervangen door de inhoud van die variabele. Parameter expansion wordt aangegeven met <code>$</code>, vaak in combinatie met accolades: <code>${}</code>, of nog completer: <code>${parameter}</code>. |
+ | |||
+ | Het principe is heel simpel en het weergeven van de waarde van een variabele is hier zelfs al een voorbeeld van: | ||
+ | |||
+ | <pre> | ||
+ | $ a=12 | ||
+ | $ echo $a | ||
+ | </pre> | ||
+ | |||
+ | Afhankelijk van de gebruikte syntaxis, kun je een hoop truken uithalen, waaronder ''find-&-replace''. Dat maakt dit een krachtig stuk gereedschap. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Plus nog wat extra's waaronder ''find-&-replace''. Krachtig spul! | ||
Gelijk al een raar voorbeeld: Het eerste argument moet een variabele zijn, maar de tweede en derde zijn ''literals''??? | Gelijk al een raar voorbeeld: Het eerste argument moet een variabele zijn, maar de tweede en derde zijn ''literals''??? |
Versie van 1 aug 2021 18:55
Parameter substitution of parameter expansion betekent dat in een Bash-expressie een parameter of variabele wordt vervangen door de inhoud van die variabele. Parameter expansion wordt aangegeven met $
, vaak in combinatie met accolades: ${}
, of nog completer: ${parameter}
.
Het principe is heel simpel en het weergeven van de waarde van een variabele is hier zelfs al een voorbeeld van:
$ a=12 $ echo $a
Afhankelijk van de gebruikte syntaxis, kun je een hoop truken uithalen, waaronder find-&-replace. Dat maakt dit een krachtig stuk gereedschap.
Plus nog wat extra's waaronder find-&-replace. Krachtig spul!
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