Um shell function
provavelmente seria mais adequado que um alias
em um shell moderno (a menos que você esteja usando tcsh
). Para ZSH isso pode parecer algo como:
function clonecd {
local dir
if [[ $# -eq 2 ]]; then
git clone -- $1 $2 || return
dir=$2
else
git clone -- $1 || return
dir=${1:t}
fi
builtin cd $dir
}
que permite os formulários clonecd git://.../somerepo
e clonecd git://.../somerepo someotherdir
, além de uma verificação de erros variada.
Um shell POSIX, como bash
, precisará de uma cotação das variáveis ( git clone -- "$1"
e assim por diante) para evitar estupidez ), e provavelmente alguns outros meios além de ${1:t}
para extrair a cauda do caminho do repositório.