gpt4 book ai didi

Bash:缓存命令导致别名?

转载 作者:行者123 更新时间:2023-11-29 09:08:17 25 4
gpt4 key购买 nike

我在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com