Wat betekent dubbele punt (': ') in de syntaxis van bash-variabele resolutie? [duplicate]

Deze vraag heeft hier al antwoorden :

Reacties

  • waar is de puntkomma (;)?
  • Ja, het lijkt een duplicaat. Maar de oorspronkelijke titel van het onderwerp maakt het niet doorzoekbaar.

Antwoord

manpagina voor bash:

${parameter:-word} Use Default Values. If parameter is unset or null, the expansion of word is substituted. Otherwise, the value of parameter is substituted. 

Dus als jvm_xmx al op iets is ingesteld, blijft het ongewijzigd.
Als het nog niet op iets is ingesteld, wordt het ingesteld op 1024.

Voorbeeld:

$ echo $jvm_xmx $ jvm_xmx=${jvm_xmx:-1024} $ echo $jvm_xmx 1024 $ jvm_xmx=2048 $ jvm_xmx=${jvm_xmx:-1024} $ echo $jvm_xmx 2048 $ 

Reacties

  • Bedankt voor het antwoord. Wat betekent het als parameter @ is? Bijvoorbeeld: ${@:10}
  • Het is het beste om daarvoor een geheel nieuwe vraag in te dienen, als de manpage niet ' t bedek het voor je.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *