![La función Bash obtiene la línea de comando actual](https://rvso.com/image/1317559/La%20funci%C3%B3n%20Bash%20obtiene%20la%20l%C3%ADnea%20de%20comando%20actual.png)
A menudo hago algo como esto:
tail -f logs/`ls -rt logs | tail -1`/debug.log
Me gustaría tener una macro para ls -rt <some_dir> | tail -1
, pero debe funcionar en el contexto de la línea de comando actual ( <some_dir>
que se extrae de la línea de comando actual). ¿Hay una manera de hacer eso?
Algo como:
tail -f logs/$(LAST)/debug.log
Respuesta1
Si no está atado a determinar <some_dir>
dentro de un subcomando, puede lograr el mismo efecto con...
tail -f `ls -drt logs/* | tail -1`/debug.log
Las -d
causas ls
incluyen rutas completas de coincidencias, pero necesita el final /*
para que devuelva elarchivosdentro del directorio en lugar del directorio mismo.
Respuesta2
El uso $0
le proporcionará el comando actual y $*
obtendrá los parámetros. Intenta echo $0 $*
ver si eso ayuda. Obviamente puedes asignarlos a otra variable si es necesario.