Imprime novas linhas na saída do comando

1

Se eu obtiver o resultado de um comando em uma variável, como posso imprimir essa saída com novas linhas. Exemplo bobo:

XX=$(ls -l); echo $XX

Quando executo a frase acima, tenho uma linha de resultado ilegível em vez de um retorno formatado, como vi quando ls -l é executado em um terminal. Existe alguma maneira de obter o resultado de um comando formatado ou exibir seu resultado com novas linhas?

    
por jherran 30.11.2014 / 19:34

1 resposta

2

Você precisa de aspas duplas para que as conchas não realizem divisão de campo :

XX="$(ls -l)"; echo "$XX"

Mas não é bom usar echo com variável que você não conhece seu conteúdo, você deve usar printf (read esta resposta ):

XX="$(ls -l)"; printf '%s\n' "$XX"
    
por 30.11.2014 / 19:45