Bagaimana seseorang mendapatkan ~/.bashrc
alias untuk dievaluasi$()
penggantian pada waktu berjalan , alih-alih pada saat ~ / .bashrc dieksekusi (saat membuka terminal)?
Saya menjalankan perintah ini cukup sering sehingga saya ingin menambahkan alias untuknya:
svn diff -r $(svn info | grep ^Revision | awk {'print $2'}):HEAD $(svn info | grep ^URL | awk {'print $2'}) | colordiff
Namun, ketika saya menambahkannya ~/.bashrc
sebagai alias, saya melihat bahwa evaluasi tersebut dikodekan ke nilai-nilai yang mereka miliki pada saat saya membuka terminal:
$ alias
alias svnbranch='svn diff -r 178184:HEAD svn+ssh://branches/t4252 | colordiff'
Jika saya membuka terminal ~
maka saya mendapatkan kesalahan:
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'
$
Saya sudah mencoba dua variasi alias ini ~/.bashrc
, keduanya memiliki efek yang sama (seperti yang saya harapkan):
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"
Bagaimana cara mendapatkan ~/.bashrc
alias untuk mengevaluasi $()
penggantian pada waktu berjalan ?
Selain itu, bagaimana seseorang mencari situasi ini di Google? Saya sudah mencoba google di "substitusi bashrc", "substitusi lazy bashrc", dan frase kunci lainnya, tetapi saya tidak menemukan apa pun yang menurut saya seharusnya menjadi masalah yang cukup umum untuk mencari informasi.
alias cdp="cd ~/projects"
. Tidak dapat melakukannya dalam skrip shell.
$HOME/bin
ke dalamPATH
jika Anda memiliki direktori seperti ini akhir-akhir ini.