.bash_profile 文件具有以下别名。
~# cat .bash_profile
# other commands
alias btcblock="echo $(bitcoin-cli getblockcount 2>&1)/$(wget -O - http://blockchain.info/q/getblockcount 2>/dev/null)"
但是如果我运行该命令然后不久之后运行别名,显示的结果是不同的,如下所示:
~# echo $(bitcoin-cli getblockcount 2>&1)/$(wget -O - http://blockchain.info/q/getblockcount 2>/dev/null)
503967/534428
~# btcblock
503839/534428
好像别名的结果总是过时的。知道为什么会这样吗?
答案1
在命令中alias btcblock="echo $(...)/$(...)"
,两个$()
s被执行并插入当别名被定义时,因为这就是"..."
引用的工作方式。
您可能想要alias btcblock='echo $(...)/$(...)'
用'
(单引号)而不是"
(双引号)来写。