Por que 'echo *' fornece resultados diferentes de 'ls *'?

2

Por exemplo, se você estiver no diretório home e digitar ls * , terá todos os diretórios listados e, abaixo do nome do diretório listado, os arquivos que ele contém. Por outro lado, se você digitar echo * , o comando listará apenas os diretórios, e não os diretórios e o conteúdo que eles têm. Por que isso?

    
por Hivemind 20.02.2015 / 20:17

1 resposta

6

Em ambos os casos, o * é expandido pelo shell.

echo apenas imprime os parâmetros resultantes da expansão.

ls verifica cada parâmetro se for um diretório e lista seu conteúdo, se for um.

    
por Florian Diesch 20.02.2015 / 21:25