У меня есть следующий скрипт 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"