我在 bash 中有一个别名,如下所示:
alias bblog="ssh -t bbdev tail -f /var/logs/bb/stdout-stderr-`date \"+%Y%m%d\"`.log"
它工作正常,除非时钟转到第二天(午夜过后),我必须重新运行 bblog 以跟踪下一个日志。但是 date\"+%Y%m%d\"
仍然返回前一个日期。它似乎缓存了值。所以它仍然拖着以前的日志。
有什么想法吗?谢谢
最佳答案
将别名放在单引号中,这会在使用时抑制反引号评估。
alias bblog='ssh -t bbdev tail -f /var/logs/bb/stdout-stderr-`date "+%Y%m%d"`.log'
我建议使用 $()
而不是反引号,因为它更容易理解逻辑。
一个更简单的使用示例是:
alias foo='echo $(date)'
argle:~$ foo
Fri Apr 26 10:29:14 IST 2013
argle:~$ foo
Fri Apr 26 10:29:15 IST 2013
关于Bash:缓存命令导致别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16232931/