私は次の Ruby スクリプト を持っておりfoo
、 で監視していますfswatch
:
#!/usr/bin/env ruby
puts "hello world!"
コマンドラインでは出力は次のようになります。
➜ ~/w/s/g/m/todo master ✗ fswatch bin/* | xargs -I {} bundle exec {}
hello world!
^C
fswatch
すべて問題ないようです。予想通り、を実行する前に画面をクリアするにはどうすればいいのでしょうかbundle exec
。または、同じ目的を達成するために何らかの bash スクリプトを作成するか、ファイルを監視し、コマンドを実行して事前に画面をクリアしますか?
答え1
最近、自分でこれを理解する必要がありました。試してください:
fswatch bin/* | xargs -I {} sh -c 'clear && bundle exec {}'
編集: スクロールバック バッファを完全にクリアする方法は、実際に使用するターミナル エミュレータ プログラムによって異なります。たとえば、macOS
次のいずれかを実行できます。
- ターミナル: メニューコマンドは
Edit > Clear to Start
または⌘Kなので、AppleScriptで自動化する代わりに電話するclear
- iTerm: 便利なサポート独自のエスケープコード- 単に次の
clear
ように 置き換えますprintf "\033]1337;ClearScrollback\007"