tl; dr;
for a in /home/* ; do cp $a/.bash_history /tmp/$a.bash_history ; done
Versión más larga:
para un patrón in se repite sobre todos los elementos de un patrón.
El patrón en sí se almacena en la variable llamada una .
Ejemplos:
for a in * ; do echo $a ; done
todos los nombres de archivo de eco.
for a in /home/* ; do echo $a ; done
Echo los nombres de todos los homedirs en / home.
En lugar de eco Usamos el comando copiar. (cp)
Y como no queremos sobrescribir todos los archivos, debemos cambiar el nombre del destino o concatenarlos en un solo archivo.
.bash_history
Para copiar utilizamos cp $ a / tmp / $ a_file (Todos los archivos ahora tienen nombres diferentes.
Para concatenar, podemos usar cat y adjuntar a la redirección.
for a in /home/* ; do cat $a/.bash_history >> /tmp/all-users_bash_history ; done