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 $*是否有幫助。顯然,如果需要,您可以將它們分配給其他變數。

相關內容