O emulador de terminal falha com a função com instruções de caso aninhadas?

0

Esta função visa essencialmente:

alias "git log"="git log --name-status"

teria sido possível. Como não é possível aliasar algo com espaços, escolho escrever uma função de shell:

git() {
        case $# in
        1)
                case "$1" in
                log)
                        git log --name-status
                ;;
                *)
                        git "$@"
                ;;
                esac
        ;;
        *)
                git "$@"
        ;;
        esac
}

No entanto, sempre que executo isso, o emulador de terminal trava após ~ 1 segundo.

Qual pode ser o motivo disso?

Estou usando o mintty e o Cygwin.

    
por Utku 01.03.2017 / 07:02

1 resposta

3

Você está chamando recursivamente git da função. Use command git para as chamadas internas para que a função não seja usada para elas.

    
por 01.03.2017 / 07:06