Estou procurando uma solução para ser usada como resposta a "rm: remover arquivo regular protegido contra gravação [x]?"
Eu estava pensando em emitir um caractere seguido de retorno de carro por várias vezes, no bashrc. Como fazemos isso?
bash
command-line
rm
Iancovici
fonte
fonte
Respostas:
Edite com base na pergunta atualizada:
Para evitar ser perguntado sobre a remoção de arquivos, adicione a opção
-f
("force"):Isso tem um efeito colateral que você deve estar ciente: Se algum dos caminhos fornecidos não existir, ele não reportará isso e retornará com êxito:
Resposta original:
Aqui está uma solução simples:
yes
repete qualquer sequência que você especificar infinitamente, separada por novas linhas.head
o interrompe após o$number
tempo etr
converte as novas linhas em retornos de carro. Você pode não ver nenhuma saída devido aos retornos de carro, mas passá-la para este comando (inbash
) deve ilustrá-la:Usuários sem
bash
tubo pode o resultado paraod
,hexdump
ouxxd
para ver os caracteres reais retornados.fonte
O outro problema que de vez em quando me deparo
rm
é com um aliasrm -i
, algo assim no / etc / bashrc:Nesse caso, você pode,
unalias rm
ou pode usar esse truque que eu descobri anos atrás, colocar uma barra invertida na frente de um comando com alias, para ignorar o alias apenas uma vez, por exemplo:Você pode aprender mais sobre aliases em um artigo da Nixcraft .
fonte
rm
é codificado para pedir "interativamente" (prompt aguardando a entrada do usuário) em arquivos protegidos contra gravação. existem dois métodos para impedir arm
pergunta:e
(ambos também funcionam sem
-r
excluir arquivos em vez de diretórios)explicação:
-f
fazrm
para "ignorar arquivos e argumentos inexistentes, nunca solicitar".--interactive=never
faz o que diz: nunca seja interativo. em outras palavras: nunca solicite.a diferença entre
-f
e--interactive=never
é esta parte: "ignore arquivos e argumentos inexistentes".comparar:
e
a diferença é principalmente interessante ao escrever scripts nos quais você nunca deseja
rm
ser interativo, mas ainda deseja lidar com erros.resumo: no uso da linha de comando
rm -rf
. em scripts userm -r --interactive=never
.para obter uma resposta à pergunta indicada ("Como evitar a necessidade de emitir" y "várias vezes ao remover o arquivo protegido"), consulte https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line / 338860 # 338860
fonte
apenas dê sim a todos os seus comandos!
De qualquer forma, você sempre pode forçar usando
-f
:fonte
Eu também tive o mesmo problema. A resposta acima é apenas para um arquivo, mas se você deseja ignorar muito sim.
Você pode usar
remover todos os arquivos regulares protegidos contra gravação
fonte