A diferença é por causa de algumas especialidades de citação de shell.
Se você executar um desses (eles são formas equivalentes de citar no shell)
git log --pretty=format:'%ad %s%d'
git log '--pretty=format:%ad %s%d'
git log --pretty=format:%ad\ %s%d
git log --pretty=form'at:%ad %'s%d
git log --pretty=format:%ad" "%s%d
git log --pretty=format:"%ad %s%d"
git
receberá dois argumentos, sendo o primeiro log
e o segundo --pretty=format:%ad %s%d
.
Se você executar
SIMPLE='--pretty=format:"%ad %s%d"'
a variável SIMPLE
terá o valor --pretty=format:"%ad %s%d"
, incluindo as aspas duplas.
Agora, se estivermos em zsh e você executar
git log $SIMPLE
ou no bash
git log "$SIMPLE"
git
verá o segundo argumento como --pretty=format:"%ad %s%d"
. (Se eu executar git log $SIMPLE
no bash recebo um erro porque git
recebe três argumentos: log
, --pretty=format:"%ad
e %s%d"
).
Então, dentro da variável, você não precisaria das aspas internas (exceto se quiser passar para eval
).