
Ich mache oft so etwas:
tail -f logs/`ls -rt logs | tail -1`/debug.log
Ich hätte gerne ein Makro für ls -rt <some_dir> | tail -1
, aber es muss im Kontext der aktuellen Befehlszeile funktionieren ( <some_dir>
aus der aktuellen Befehlszeile abgerufen werden). Gibt es eine Möglichkeit, das zu tun?
Etwas wie:
tail -f logs/$(LAST)/debug.log
Antwort1
Wenn Sie nicht an die Bestimmung <some_dir>
innerhalb eines Unterbefehls gebunden sind, können Sie den gleichen Effekt mit ... erzielen.
tail -f `ls -drt logs/* | tail -1`/debug.log
Die -d
Ursachen ls
umfassen vollständige Pfade von Übereinstimmungen, aber Sie benötigen die Nachkommastellen, /*
so dass es dieDateieninnerhalb des Verzeichnisses statt im Verzeichnis selbst.
Antwort2
Mit dieser Option $0
erhalten Sie den aktuellen Befehl und $*
die Parameter. Probieren Sie echo $0 $*
aus, ob das hilft. Natürlich können Sie diese bei Bedarf auch anderen Variablen zuweisen.