Eu tenho o seguinte script Ruby, foo
com o qual estou assistindo fswatch
:
#!/usr/bin/env ruby
puts "hello world!"
na linha de comando a saída é semelhante a:
➜ ~/w/s/g/m/todo master ✗ fswatch bin/* | xargs -I {} bundle exec {}
hello world!
^C
O que parece bom e, como esperado, estou me perguntando, como eu diria fswatch
para limpar a tela antes de executar o bundle exec
? Ou escrever algum tipo de script bash para atingir o mesmo objetivo ou observar meus arquivos e executar meus comandos, mas limpar a tela antes?
Responder1
Recentemente tive que descobrir isso sozinho. Tentar:
fswatch bin/* | xargs -I {} sh -c 'clear && bundle exec {}'
Editar: A limpeza completa do buffer de rolagem dependerá do programa emulador de terminal usado. Por exemplo, macOS
você poderia fazer o seguinte:
- Terminal: O comando do menu é
Edit > Clear to Start
ou ⌘K, então você podeautomatizar isso em applescripte ligue no lugar declear
- iTerm: suporta práticocódigos de escape proprietários- basta substituir
clear
porprintf "\033]1337;ClearScrollback\007"