8

I need to decode this assignment:

jvm_xmx=${jvm_xmx:-1024}
Rui F Ribeiro
  • 55,929
  • 26
  • 146
  • 227
user1065145
  • 407
  • 1
  • 6
  • 14

1 Answers1

12

man page for 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.

So if jvm_xmx is already set to something, it is left unchanged.
If it is not already set to something, it is set to 1024.

Example:

$ echo $jvm_xmx

$ jvm_xmx=${jvm_xmx:-1024}
$ echo $jvm_xmx
1024
$ jvm_xmx=2048
$ jvm_xmx=${jvm_xmx:-1024}
$ echo $jvm_xmx
2048
$
steve
  • 21,582
  • 5
  • 48
  • 75
  • Thanks for answer. What does it mean when `parameter` is @ ? For example: `${@:10}` – Atul Dec 05 '19 at 11:06
  • 1
    Best to submit a whole new question for that, if the man page doesn't cover it for you. – steve Dec 06 '19 at 09:53