Esse tipo de script parece ser mais estável (funciona com discos SATA simples e invasões de software):
lsblk --list -no type,name --inverse $(findmnt -nvoSOURCE -T "$DIRECTORY") \
| grep ^disk | awk '{ print $2 }' | sort -u \
| while read name; do echo "Data on /dev/$name"; done
Claro, substitua o comando echo
pela ação real que você deseja executar para cada disco.
Exemplo de saída para o diretório em um ataque do software MD de 4 discos:
Data on /dev/sda
Data on /dev/sdb
Data on /dev/sdc
Data on /dev/sdd
Exemplo de saída para o diretório na partição regular de 1 disco:
Data on /dev/sdf