O comando unlink
também faz parte do POSIX:
unlink <file>
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.
O comando unlink
também faz parte do POSIX:
unlink <file>
Você consegue executar shred
? Se sim, então:
shred -u <file to remove>
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
.
Com um% GNUfind
, find /your/file -delete
poderia funcionar.
Mova o arquivo para / tmp:
mv filename /tmp
e ele será excluído na próxima reinicialização.