Я хотел написать сценарий bash, который будет распаковывать архивы .tar.gz и для каждого файла результатов он будет устанавливать дополнительный атрибут с именем исходного архива. Просто чтобы узнать, каково происхождение распакованного файла.
Я попытался сохранить внутренние файлы в массиве и затем зациклить их.
for archive in "$1"*.tar.gz; do
if [ -f "${archive}" ]
then
readarray -t fileNames < <(tar tzf "$archive")
for file in "${fileNames}"; do
echo "${file}"
tar xvzf "${archive}" -C "$1" --no-wildcards "${file}" &&
attr -s package -V "${archive}" "${file}"
done
fi
done
В результате только одинфайл извлечен, и дополнительный атрибут не установлен.