将 Ruby 转换为一个功能强大的命令行工具
使用 9 行 Ruby 代替您在终端中使用的大多数命令行工具,以处理文本。 这是代码
#!/usr/bin/env ruby
File.join(Dir.home, '.rbrc').tap { |f| load f if File.exist?(f) }
def execute(_, code)
puts _.instance_eval(&code)
rescue Errno::EPIPE
exit
end
single_line = ARGV.delete('-l')
code = eval("Proc.new { #{ARGV.join(' ')} }")
single_line ? STDIN.each { |l| execute(l.chomp, code) } : execute(STDIN.each_line, code)克隆此仓库,并将 rb 文件复制到您的路径中某处(或者直接复制并粘贴上述内容)。
使用此工具,您可以更加人性化地将 Ruby 用作命令行工具,而不是以标准方式调用它。
只有一个开关 -l,它会在每一行上分别运行您的代码。否则,您会得到一个返回 stdin 行的枚举器。它被 instance_eval 了,因此某些方法需要 self 才能正常工作,例如 self[-1]。
只需将这行粘贴到终端中,即可安装 rb:
sudo curl https://raw.githubusercontent.com/thisredone/rb/master/rb -o /usr/local/bin/rb && sudo chmod +x /usr/local/bin/rb暂无开放 Issues,或尚未同步最近议题。