Интересно, есть ли существенная разница в вызове суб-оболочки через $(...)
или `...`
?
Например:
a=$(ls -la /tmp | grep vox-*)
И:
a=`ls -la /tmp | grep vox-*`
Результат будет полностью таким же, но я хочу знать, почему существует два разных метода, в чем разница и какой из них мне следует использовать.
Backsticks и $(...)
идентичны по функциональности. Однако я предпочитаю второй подход
$(...)
может быть легко вложен
читаемость, $(...)
более "башиш"
согласованность, как аналогичный синтаксис, $((...))
, для выражений
Смотрите также эта страница у этого есть другие аргументы.