A função Bash recebe a linha de comando atual

0

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ído da linha de comando atual). Existe uma maneira de fazer isso?

Algo como:

tail -f logs/$(LAST)/debug.log
    
por dpb 07.06.2012 / 00:01

2 respostas

1

Se você não está preso a determinar <some_dir> dentro de um subcomando, você pode obter o mesmo efeito com ...

tail -f 'ls -drt logs/* | tail -1'/debug.log

O -d faz com que ls inclua caminhos completos de correspondências, mas você precisa do /* para que retorne os arquivos dentro do diretório em vez do próprio diretório.

    
por 07.06.2012 / 02:06
1

Usando $0 , você obterá o comando atual e $* obterá os parâmetros. Experimente echo $0 $* para ver se isso ajuda. Obviamente, você pode atribuí-los a outra variável, se necessário.

    
por 07.06.2012 / 01:43

Tags