I hate backticks. They have no place in modern shell programming.
Here is a couple of reasons why this is the case.
Not nestable
backticks, by their nature, are not nestable. You can not have a
command expansion inside another with back ticks.
command `foo ` bar ` baz`
Should the shell expand foo and baz or bar
and then foo <output of bar> baz? As it happens
it will run the first one. Using the modern command expansion syntax you
can write:
command $(foo $( bar ) baz)
command $(foo ) bar $( baz)
Backticks are invisible
The backtick symbol is too small and too easily confused with a
single quote to be used for writing maintainable code. The alternative
is significantly larger and therefore more obvious.
ls "'`!!`'"
ls "'$(!!)'"
Here is a zoomed version of the line above in my terminal:
Please consider using the bracketed version of command expansion
rather than backticks and make the world a nicer place