1

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

0

1 Answer 1

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
5
  • 1
    but i can use echo "$foo"a then why braces in used? Commented Feb 13, 2013 at 8:18
  • 2
    @RahulPatil Then there is no difference. " is an illegal character in a variable name, so it terminates there. Commented Feb 13, 2013 at 8: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. Commented Feb 13, 2013 at 8:55
  • 3
    There's no ambiguity in the first statement - It's clearly the value of the fooa variable. Bash is not DWIM-compatible :) Commented Feb 13, 2013 at 9:17
  • 2
    @l0b0 - perhaps I should have said "ambiguous to humans", obviously the actual syntax is defined ;-) Commented Feb 13, 2013 at 9:23

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.