Bash 函数获取当前命令行

Bash 函数获取当前命令行

我经常做这样的事:

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 $*看看是否有帮助。显然,如果需要,您可以将它们分配给其他变量。

相关内容