Solução alternativa para a falta da opção rm -I no OSX? [duplicado]

2
    

Esta pergunta já tem uma resposta aqui:

    
  •              Scripting 'rm' e 'rm -i'                                      3 respostas                          
  •     

Eu gostaria de fazer isso no OSX:

alias rm="rm -I"

No GNU rm, isso significa que rm avisará se é recursivo ou se está excluindo três ou mais arquivos, mas não se estiver excluindo apenas um ou dois arquivos. No entanto, o OSX (Mavericks) rm não suporta isso.

Existe uma solução alternativa para que rm avisará, uma vez, ao excluir vários arquivos, mas não solicitará arquivos únicos ou para cada arquivo em exclusões em massa?

    
por Steve Bennett 19.01.2016 / 02:25

1 resposta

0

A resposta vinculada me deu um bom começo, mas foi um pouco simplista - foi acionado se você tivesse um glob correspondente a 3 arquivos, mas não se estivesse fazendo rm -rf foo .

Então, isso funciona para mim em ~.bash_profile :

rmf() {
    if [ "$1" == "-rf" ]; then
        read -r -p "Sure you want to delete '${2}' [y/N]? " response
        if [[ $response =~ ^(yes|y| ) ]]; then
            command rm "$@"
        fi
    else
        command rm "$@"
    fi
}
alias rm=rmf
    
por 19.01.2016 / 02:56

Tags