我试图调用的命令行工具基本上将文件转换为另一种格式。
我正在使用这个[教程] [1],但遇到了麻烦。我不断得到invalid multibyte char (UTF-8) (SyntaxError)
我只是将我的命令行工具(使用 C 制作)倾倒在垃圾箱中,并试图让它工作。有人可以阐明我如何使这项工作正常进行吗?
我试图调用的命令行工具基本上将文件转换为另一种格式。
我正在使用这个[教程] [1],但遇到了麻烦。我不断得到invalid multibyte char (UTF-8) (SyntaxError)
我只是将我的命令行工具(使用 C 制作)倾倒在垃圾箱中,并试图让它工作。有人可以阐明我如何使这项工作正常进行吗?
您收到的错误与 UTF-8 编码有关,这是 ruby-2.x 中的默认编码,所以我假设您使用的是 1.8 或 1.9,您应该考虑升级。
尝试将以下行添加到脚本的顶部:
#!/bin/env ruby
# encoding: utf-8
让我们知道它是否有效,并查看此线程以获取更多信息。
编辑:现在我明白了你想要做什么。在此处查看位于bin/
目录中的示例文件。您可以将可执行文件放到另一个目录data/
中,例如,并通过 ruby 调用:
#!/usr/bin/env ruby
prog = File.expand_path('../data/myprog', __FILE__)
ARGV.each do|a|
system("#{prog} #{a}") # will return 'true' if run successfully
end
好的,现在试试。这也应该适用于多个文件,例如
编文件1.doc 文件2.doc ...