Como remover um arquivo sem usar o rm? [fechadas]

6

O aplicativo de agendamento de terceiros que nossa empresa usa não executa rm de comandos conforme o esperado. Com isso, quero dizer que espero que o rm -f $filetoremove seja concluído e continue até a próxima linha de código no script.

Mas eu preciso que ele execute de preferência rm -f .

Existe outro método para remover um arquivo sem usar rm ? Eu tentei > delete_foobar.file mas apenas esvazia sem remover.

Informações adicionais :  Meu ambiente de trabalho é um grande empreendimento. Eu escrevo o script .sh que eu testei fora do aplicativo de agendamento. Fora do software de agendamento, o comando rm -f $filetoremove funciona com um código de retorno de 0 . No entanto, o software de agendamento não registra o código de retorno 0 e sai imediatamente sem executar o restante do script .sh . Isso é problemático e o fornecedor reconheceu esse defeito.

Não estou a par dos detalhes do software de automação nem dos códigos de retorno exatos que ele recebe. Tudo o que sei é que meus scripts não são executados completamente, quando executados através do software de automação, se contiver rm . É por isso que estou procurando alternativas para rm .

Sim, é importante remover o arquivo depois de concluir o processamento.

    
por zundarz 05.02.2017 / 07:53

5 respostas

13

O comando unlink também faz parte do POSIX:

unlink <file>
    
por 05.02.2017 / 09:54
8

Você consegue executar shred ? Se sim, então:

shred -u <file to remove>
    
por 05.02.2017 / 09:13
7

Is there another method to remove a file without using rm?

busybox rm -f path/to/file

Isso pressupõe que seu aplicativo de agendamento permita que você execute busybox irrestrito. Como você não especificou qual aplicativo é, realmente não sabemos quais são as restrições, mas as opções acima devem funcionar se o aplicativo tiver uma proteção simples que impede a execução de apenas rm .

    
por 05.02.2017 / 08:37
6

Com um% GNUfind, find /your/file -delete poderia funcionar.

    
por 05.02.2017 / 11:22
1

Mova o arquivo para / tmp:

mv filename /tmp

e ele será excluído na próxima reinicialização.

    
por 05.02.2017 / 11:33

Tags