ТЛ; др; for a in /home/* ; do cp $a/.bash_history /tmp/$a.bash_history ; done
Более длинная версия:
для шаблона in проходит по всем элементам шаблона.
Сам шаблон хранится в переменной с именем a.
Примеры:
for a in * ; do echo $a ; done
эхо все имена файлов.
for a in /home/* ; do echo $a ; done
эхо это имена всех homedirs в /home.
Вместо эха мы используем команду копирования. (Ф)
А поскольку мы не хотим перезаписывать все файлы, нам нужно либо изменить имя назначения, либо объединить их все в один файл.
.bash_history
Для копирования мы используем cp $ a /tmp /$ a_file (все файлы теперь называются по-разному.
Для объединения мы можем использовать cat с append для перенаправления.
for a in /home/* ; do cat $a/.bash_history >> /tmp/all-users_bash_history ; done