Sagen Sie fswatch, dass es den Bildschirm löschen soll, bevor der Befehl ausgeführt wird?

Sagen Sie fswatch, dass es den Bildschirm löschen soll, bevor der Befehl ausgeführt wird?

Ich habe das folgende Ruby-Skript, foomit dem ich beobachte fswatch:

#!/usr/bin/env ruby

puts "hello world!"

Auf der Kommandozeile sieht die Ausgabe so aus:

➜  ~/w/s/g/m/todo master ✗ fswatch bin/* | xargs -I {} bundle exec {}
hello world!
^C

Das scheint alles gut zu sein, und wie erwartet frage ich mich, wie ich sagen kann, fswatchdass der Bildschirm vor dem Ausführen gelöscht werden soll bundle exec. Oder eine Art Bash-Skript schreiben, um dasselbe Ziel zu erreichen, oder meine Dateien überwachen und meine Befehle ausführen, aber vorher den Bildschirm löschen?

Antwort1

Das musste ich vor Kurzem selbst herausfinden. Versuchen Sie: fswatch bin/* | xargs -I {} sh -c 'clear && bundle exec {}'

Bearbeiten: Das vollständige Löschen des Scrollback-Puffers hängt vom tatsächlich verwendeten Terminalemulatorprogramm ab. macOSSie können beispielsweise Folgendes tun:

verwandte Informationen