if-then-else dentro do alias do Bash

5

Eu estou tentando fazer um alias para mv , então ele faz o seu comportamento normal em pastas normais e é substituído por git mv dentro de repositórios git. Eu tentei de várias maneiras. a instrução if funciona, somente o comando git mv não será executado corretamente.

alias mv='"$(
if [ x'git rev-parse --show-toplevel 2> /dev/null' = x ]; 
    echo mv;  
else 
    echo "git mv"; 
fi)"'
    
por switch87 13.03.2017 / 19:40

1 resposta

6

Eu usaria uma função para isso, assim:

gitmv()
{
    if [ x'git rev-parse --show-toplevel 2> /dev/null' = x ]; 
        mv "$@"  
    else 
        git mv "$@" 
    fi
}

Editar:

alias mv=gitmv

    
por 13.03.2017 / 19:52

Tags