rm -irf -Irf com find

1

por que a declaração abaixo não pede confirmação enquanto estiver usando a opção i ou eu para rm?

// pass aggregated 
find . -name $name -type d -exec rm -irf {} \;
// pass each
find . -name $name -type d -exec rm -irf {} +
    
por ceph3us 21.11.2017 / 23:58

1 resposta

0

A opção -i pede confirmação, mas a opção -f que segue no seu comando a substitui, desligando a caixa de diálogo de confirmação.

Observe:

$ rm -fri file1
rm: remove regular empty file 'file1'? n
$ rm -irf file1
$ 

Se o primeiro formulário acima, -f aparecer primeiro e -i posterior. Consequentemente, -i substitui -f e rm pede confirmação.

No segundo formulário acima, -i aparece primeiro e -f posterior. Nesse caso, -f substitui e nenhuma caixa de diálogo de confirmação é exibida.

Documentação

De man rm :

-f, --force
ignore nonexistent files and arguments, never prompt

-i
prompt before every removal

-I
prompt once before removing more than three files, or when removing recursively; less intrusive than -i, while still giving protection against most mistakes

    
por 22.11.2017 / 00:11

Tags