
Costumo fazer algo assim:
tail -f logs/`ls -rt logs | tail -1`/debug.log
Eu gostaria de ter uma macro para ls -rt <some_dir> | tail -1
, mas ela precisa funcionar no contexto da linha de comando atual ( <some_dir>
sendo extraída da linha de comando atual). Existe uma maneira de fazer isso?
Algo como:
tail -f logs/$(LAST)/debug.log
Responder1
Se você não está vinculado à determinação <some_dir>
de um subcomando, poderá obter o mesmo efeito com...
tail -f `ls -drt logs/* | tail -1`/debug.log
As -d
causas ls
incluem caminhos completos de correspondências, mas você precisa do rastreamento /*
para que ele retorne oarquivosdentro do diretório em vez do próprio diretório.
Responder2
Usar $0
fornecerá o comando atual e $*
os parâmetros. Tente echo $0 $*
ver se isso ajuda. Obviamente você pode atribuí-los a outras variáveis, se necessário.