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