Ruby `执行官';:字符串包含空字节(ArgumentError)

Ruby `执行官';:字符串包含空字节(ArgumentError),ruby,string,arguments,cmd,exec,Ruby,String,Arguments,Cmd,Exec,发生什么事了?我怎样才能解决这个问题 您的cmd字符串中不知何故有一个空字节(即零字节)。使用puts不会显示任何空字节,只会将它们从输出中删除: 1.8.7:001>exec“\0” ArgumentError:字符串包含空字节 from(irb):1:in'exec' 来自(irb):1 1.8.7:002>放入“n\0n” nn =>零 您可能应该检查您的rep、svn\u用户和pxs变量是如何填充的,以查看您是否可以跟踪这些空字节的来源,但作为一种快速修复方法,您可以使用gsub要删除

发生什么事了?我怎样才能解决这个问题

您的
cmd
字符串中不知何故有一个空字节(即零字节)。使用
puts
不会显示任何空字节,只会将它们从输出中删除:

1.8.7:001>exec“\0”
ArgumentError:字符串包含空字节
from(irb):1:in'exec'
来自(irb):1
1.8.7:002>放入“n\0n”
nn
=>零
您可能应该检查您的
rep
svn\u用户
pxs
变量是如何填充的,以查看您是否可以跟踪这些空字节的来源,但作为一种快速修复方法,您可以使用
gsub要删除它们,请执行以下操作:

$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
$ gem -v
1.3.7
xpto.rb:69:in `exec': string contains null byte (ArgumentError)
    from xpto.rb:69
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
$ gem -v
1.3.7
cmd.gsub!(/\0/, '')