It's very similar to the backticks ``.

It's called [command substitution][1] ([posix specification][2]) and it invokes a subshell. The command in the braces of `$()` or between the backticks (`` `…` ``) is executed in a subshell and the output is then placed in the original command.

Unlike backticks, the `$(...)` form can be nested. So you can use command substitution inside another substitution.

There are also differences in escaping characters within the substitution. I prefer the `$(...)` form.


 [1]: http://www.tldp.org/LDP/abs/html/commandsub.html
 [2]: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03