i have seen in many script usage of "$var" and "${var}", so I just want to know diffrence between "$var" and "${var}"
Asked
Active
Viewed 475 times
1
Rahul Patil
- 24,281
- 25
- 80
- 96
1 Answers
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
- 122,090
- 24
- 265
- 262
-
1but 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
-
3There'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