1

i have seen in many script usage of "$var" and "${var}", so I just want to know diffrence between "$var" and "${var}"

Rahul Patil
  • 24,711

1 Answers1

5

The braces explicitly denote the beginning and end of the parameter syntax, otherwise, there is no difference. This makes certain statements unambiguous, for example:

$ foo=bar
$ echo "$fooa" # Is this $foo + a, or $fooa?

$ echo "${foo}a"
bara
Chris Down
  • 125,559
  • 25
  • 270
  • 266
  • 1
    but i can use echo "$foo"a then why braces in used? – Rahul Patil Feb 13 '13 at 08:18
  • 2
    @RahulPatil Then there is no difference. " is an illegal character in a variable name, so it terminates there. – Chris Down Feb 13 '13 at 08:23
  • @RahulPatil But, with the braces you can do a lot more! See also the link provided by manatwork in the comment to your question. – Bernhard Feb 13 '13 at 08:55
  • 3
    There's no ambiguity in the first statement - It's clearly the value of the fooa variable. Bash is not DWIM-compatible :) – l0b0 Feb 13 '13 at 09:17
  • 2
    @l0b0 - perhaps I should have said "ambiguous to humans", obviously the actual syntax is defined ;-) – Chris Down Feb 13 '13 at 09:23