Por que não consigo 'rm -r.'? [duplicado]

0

Uma pergunta que já me fiz algumas vezes é por que não consigo excluir o diretório de trabalho atual usando rm -r .

O shell não tem problemas com um diretório inexistente como diretório de trabalho, por isso acabei de criar um alias para rm -r "../$(basename "$(pwd)")" .

Por que há uma diferença entre esses dois rm s, enquanto a saída de realpath . e realpath "../$(basename "$(pwd)")" não difere e o cwd de rm também é o mesmo?

    
por krissi 28.09.2015 / 11:09

1 resposta

3

Como explicado em 'rm. *' já deletou o diretório pai? a seguinte parte da especificação POSIX se aplica:

If either of the files dot or dot-dot are specified as the basename portion of an operand (that is, the final pathname component) or if an operand resolves to the root directory, rm shall write a diagnostic message to standard error and do nothing more with such operands.

    
por 28.09.2015 / 11:28

Tags