Supondo que os diretórios estejam vazios, eu diria ...
while IFS= read -r directory
do
#rmdir /home/directory/"$directory"
echo rmdir /home/directory/"$directory"
done < /home/list/list.txt
E quando você vir o echo
funcionar como deseja, descomente o rmdir
.
Isso faz um loop sequencial através do conteúdo de /home/list/list.txt
e armazena o valor de cada linha em $directory
. Em seguida, ele executa a ação rmdir
.
Observe o uso de aspas duplas para evitar erros se os nomes contiverem espaços. Os IFS=
e read -r
são bem explicados em Como eu posso ler um arquivo (fluxo de dados, variável) linha a linha ( e / ou campo a campo)? ,
Se os diretórios não estiverem vazios e você estiver completamente certo sobre o que está fazendo, use rm -r
. Você pode então adicionar -f
para forçar (novamente: se tiver certeza) ou -v
para ter uma saída detalhada.