告诉 fswatch 在运行命令之前清屏?

告诉 fswatch 在运行命令之前清屏?

我有以下 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 StartK,所以你可以在 applescript 中自动化并调用代替clear
  • iTerm:支持方便专有转义码- 只需替换clearprintf "\033]1337;ClearScrollback\007"

相关内容