Como se obtém ~/.bashrc
aliases para avaliar $()
substituições em tempo de execução , em vez de no momento em que ~ / .bashrc é executado (ao abrir um terminal)?
Eu executo esse comando com frequência suficiente para adicionar um alias:
svn diff -r $(svn info | grep ^Revision | awk {'print $2'}):HEAD $(svn info | grep ^URL | awk {'print $2'}) | colordiff
No entanto, quando eu adiciono a ~/.bashrc
como um alias, vejo que as avaliações são codificadas nos valores que tinham no momento em que abri o terminal:
$ alias
alias svnbranch='svn diff -r 178184:HEAD svn+ssh://branches/t4252 | colordiff'
Se eu abrir um terminal em ~
, obtenho erros:
svn: E155007: '/home/dotancohen' is not a working copy
svn: E155007: '/home/dotancohen' is not a working copy
svn: E155007: '/home/dotancohen' is not a working copy
svn: E155007: '/home/dotancohen' is not a working copy
$ alias
alias svnbranch='svn diff -r :HEAD | colordiff'
$
Eu tentei essas duas variações do alias em ~/.bashrc
, elas têm o mesmo efeito (como eu esperava):
alias svnbranch="svn diff -r $(svn info | grep ^Revision | awk {'print $2'}):HEAD $(svn info | grep ^URL | awk {'print $2'}) | colordiff"
alias svnbranch="svn diff -r 'svn info | grep ^Revision | awk {'print $2'}':HEAD 'svn info | grep ^URL | awk {'print $2'}' | colordiff"
Como se obtém ~/.bashrc
aliases para avaliar $()
substituições em tempo de execução ?
Além disso, como alguém poderia pesquisar essa situação no Google? Tentei pesquisar no google sobre "substituição de bashrc", "substituição lenta de bashrc" e outras frases-chave, mas descobri nada pelo que eu sinto deve ser uma questão bastante comum para encontrar informações.