Aqui está uma abordagem que deve funcionar:
-
Obtenha a lista de
sdX
dispositivos para excluirexclude=$(cut -d/ -f3 exclude.txt)
-
Itere sobre os diretórios
/sys/block/sdX
:for sysfile in /sys/block/sd? ; do
-
Extraia o nome
sdX
desse caminho e crie o nome do arquivodelete
dev=$(basename $sysfile) del=$sysfile/device/delete
-
Verifique se o
sdX
está na lista excluída:if [[ $exclude == *$dev* ]] ; then echo "Device $dev excluded"
-
Verifique se você tem permissões de gravação apropriadas no arquivo de exclusão
elif [ ! -w $del ] ; then echo "$del does not exist or is not writable"
-
Faça a exclusão (não realmente)
else echo "echo 1 > $del" fi
-
Você terminou!
done