
Я часто делаю что-то вроде этого:
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 $*
, поможет ли это. Очевидно, вы можете присвоить их другой переменной, если это необходимо.