Alguém poderia explicar como o exitcomando funciona no terminal Unix?
Uma pesquisa man exit e which exitnão foi útil e me deparei com o seguinte problema.
Depois de instalar os pacotes add-on para Anaconda e PyCharm no meu novo sistema Red Hat, notei que sempre que telefonava exitpara sair de uma sessão do terminal, recebia uma série de erros e o terminal fecha como esperado. Os erros parecem sugerir que minha chamada para exitestá acionando rm ~/anaconda3/.../e rm ~/PyCharm/....causando um erro. Todos os diretórios também parecem ser os locais dos pacotes que baixei para esses programas (por exemplo, numpy), veja abaixo.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Resolvido
No meu ~/.bash_logoutarquivo, havia uma linha
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
Comentar esta linha parou as mensagens de erro. Parece procurar e excluir todos os arquivos temporários. Mas também tenta encontrar diretórios com a palavra "core" neles e excluí-los também. Esta foi uma predefinição no sistema.
exité um apelido?
corearquivos é porque eles geralmente são arquivos de despejo de memória ( core dumps ) que ocupam espaço, mas raramente são úteis, a menos que você esteja desenvolvendo o software com falha. Nesse caso, ele está tentando excluir um diretório chamado core, que falha (e é bom que falhe - numpy.coreé essencial para o NumPy!).
ulimit -c 0o padrão). De qualquer forma, esse find -exec rmcomando não é algo que eu gostaria, mas você pode adicionar -type fa ele. Você também pode tornar muito mais eficiente a exclusão de vários arquivos usando em -exec rm {} +vez de ... \;, para que ele agrupe vários argumentos em uma rmlinha de comando (como xargs)
exitpara sair do que sessão de terminal - ou que isso acontece cada vez que você usaexitdepois disso?