tl; dr;
for a in /home/* ; do cp $a/.bash_history /tmp/$a.bash_history ; done
Versão mais longa:
para um padrão em loops sobre todos os itens em um padrão.
O padrão em si é armazenado na variável chamada a .
Exemplos:% de todos os nomes de arquivos de for a in * ; do echo $a ; done
echo.
for a in /home/* ; do echo $a ; done
echo são os nomes de todos os homedirs em / home.
Em vez de echo usamos o comando copy. (cp)
Como não queremos substituir todos os arquivos, precisamos alterar o nome do destino ou precisamos concatená-los em um único arquivo.
.bash_history
Para copiar, usamos cp $ a / tmp / $ a_file (todos os arquivos agora são nomeados de forma diferente.
Para concatenar, podemos usar o gato com o acréscimo ao redirecionamento.
for a in /home/* ; do cat $a/.bash_history >> /tmp/all-users_bash_history ; done