Você pode ter rm
aliased para rm -i
, então tente isto:
/bin/rm -f file.log
Para ver seus aliases, você pode executar alias
.
Como posso remover o arquivo sem perguntar ao usuário se ele concorda em excluir o arquivo? Eu estou escrevendo shell script e uso rm função, mas pede "remover arquivo regular?" e eu realmente não preciso disso. Obrigado.
O sinalizador de força remove todos os prompts;
rm -f {file}
Que a força esteja com você - rm -f
Dentro de um script de shell, você deve usar rm -f <filename>
, mas também tem a opção de se livrar da opção -i
implícita do seu ambiente inserindo unalias rm
no seu shell (ou perfil).
Se você tiver as permissões necessárias para excluir o arquivo e não quiser ser solicitado, faça o seguinte (-f = force):
rm -f file
Se você não tiver permissões para o arquivo, precisará usar:
sudo rm -f file
o programa yes
repetidamente responde sim a quaisquer prompts. então você pode canalizá-lo para o programa interativo rm
para obter o efeito desejado também.
yes | rm <filename>
por outro lado, se você não quiser fazer algo interativo, você pode fazer
yes n | <something interactive>
e isso irá repetir 'n' no fluxo de entrada (respondendo efetivamente não a perguntas)
\rm file
Barra invertida \
ignora aliases.
Atualmente estou trabalhando em um sistema, onde o shell bash recebeu a definição do comando rm como uma função em um dos arquivos de configuração globais:
rm () { /bin/rm -i ${1+"$@"}; }
Portanto, nenhuma das respostas acima sobre aliases funcionou. Para contrariar o comportamento irritante, desconfio a função rm no meu arquivo .bashrc
unset -f rm
Eu tive um problema semelhante ao do opener. No entanto, não encontrei nenhuma resposta que mencionasse a possibilidade de que rm
estivesse oculto por uma função de shell. Então eu adicionei a resposta aqui na esperança de que seria de ajuda para alguém que enfrenta o mesmo tipo de problema.
Digitar /bin/rm
ou rm -f
todo o tempo é inconveniente e pode ter consequências ruins (no caso de rm -f
).
Além de usar o parâmetro -f
, você pode usar o comando find
, por exemplo,
find -name file.log -delete
Se o seu rm
tiver alias para rm -i
, use unalias rm
;
Não use rm -f
diretamente, a menos que você realmente queira remover muitos arquivos protegidos contra gravação. Deve haver uma boa razão para usar -f
.
No entanto, se você tiver muitos arquivos protegidos contra gravação, poderá preferir rsync -r --delete empty/ removed_dir/
para uma velocidade mais rápida.