我经常做这样的事:
tail -f logs/`ls -rt logs | tail -1`/debug.log
我想要一个宏ls -rt <some_dir> | tail -1
,但它需要在当前命令行上下文中工作(<some_dir>
从当前命令行中提取)。有办法吗?
就像是:
tail -f logs/$(LAST)/debug.log
答案1
如果您不必<some_dir>
在子命令中确定,则可以使用以下方法实现相同的效果...
tail -f `ls -drt logs/* | tail -1`/debug.log
原因包括匹配的完整路径,但你需要尾随,-d
以便它返回ls
/*
文件在目录内而不是目录本身。
答案2
使用$0
将获取当前命令并$*
获取参数。尝试echo $0 $*
看看是否有帮助。显然,如果需要,您可以将它们分配给其他变量。