Existe uma diferença nos métodos de execução de comando em uma subcamada?

4

Gostaria de saber se existe uma diferença significativa de chamar o sub shell via $(...) ou '...' ?

Por exemplo:

a=$(ls -la /tmp | grep vox-*)

E:

a='ls -la /tmp | grep vox-*'

O resultado será o mesmo, mas quero saber por que existem dois métodos diferentes, qual é a diferença e qual devo usar.

    
por Dima Zyuryaev 20.12.2015 / 10:47

1 resposta

3

Os backsticks e $(...) são idênticos em termos de funcionalidade. No entanto eu prefiro a segunda abordagem

  • $(...) pode ser facilmente aninhado

  • legibilidade, $(...) é mais "bashish"

  • consistência, como uma sintaxe semelhante, $((...)) , é para expressões

Veja também esta página que tem outros argumentos.

    
por 20.12.2015 / 11:09

Tags