Bash - sintaxe no eco

1

Ao usar /bin/bash , qual é a diferença entre os dois casos a seguir:

  • echo $ IFS
  • echo "$ IFS"

Eu observo saídas diferentes.

    
por Jake 11.09.2015 / 21:30

1 resposta

4

"$IFS" será um único argumento. A função do "" é que ele delimita os espaços neles em uma única palavra, com espaços.

Por exemplo, se o IFS contiver a__b (imagine espaços em vez de _ s), então

echo "$IFS" será após a subcomissão da variável: echo "a b" , portanto, o comando echo obterá um único argumento. Assim, imprimirá: a b .

Enquanto echo $IFS será substituído por echo a b , o que significa que echo recebe dois argumentos: um a e um b . Então, vai imprimir: a b .

Existem outras diferenças também, por exemplo, se o IFS contiver uma entrada, ela também estará oculta na primeira versão, mas não na segunda.

    
por 11.09.2015 / 21:34