POSIXly, *
não se expande para incluir .
e ..
(ou qualquer nome de arquivo começando com um ponto), a menos que você inclua explicitamente usando opções específicas ao seu shell (por exemplo, dotglob
no bash) .
É "seguro" (a menos que qualquer um dos seus arquivos inicie com um traço, caso você use rm -- *
), assumindo que é isso que você pretende fazer, mas não excluirá arquivos com nomes de arquivos começando com um ponto.
Posso sugerir que você faça isso:
cd .. && rm -r directory