Jak uzyskać ~/.bashrc
aliasy do oceny $()
podstawień w czasie wykonywania , zamiast w momencie wykonywania ~ / .bashrc (podczas otwierania terminala)?
Często uruchamiam to polecenie, aby dodać do niego alias:
svn diff -r $(svn info | grep ^Revision | awk {'print $2'}):HEAD $(svn info | grep ^URL | awk {'print $2'}) | colordiff
Jednak, gdy dodam go ~/.bashrc
jako alias, widzę, że oceny są zakodowane na sztywno do wartości, które miały w momencie otwarcia terminalu:
$ alias
alias svnbranch='svn diff -r 178184:HEAD svn+ssh://branches/t4252 | colordiff'
Jeśli otworzę terminal, ~
pojawią się błędy:
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'
$
Wypróbowałem te dwie odmiany aliasu ~/.bashrc
, oba mają taki sam efekt (jak się spodziewałem):
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"
Jak uzyskać ~/.bashrc
aliasy do oceny $()
podstawień w czasie wykonywania ?
Dodatkowo, jak szukać tej sytuacji w Google? Próbowałem google na „podstawienie bashrc”, „leniwe podstawienie bashrc” i inne kluczowe frazy, ale nie znalazłem niczego, co według mnie powinno być na tyle częstym problemem, by znaleźć informacje.
alias cdp="cd ~/projects"
. Nie można tego zrobić w skrypcie powłoki.
$HOME/bin
w katalogu,PATH
jeśli masz taki katalog.