我在ruby脚本中有类似的内容:
from = "/path/to/script.rb"
to = "/path/to/destination/"
puts "Copying #{from} to #{to}"
system("cp #{from} #{to}")
这在终端中提供以下输出:
copying /path/to/script.rb
to /path/to/destination/
cp: missing destination file operand after ‘/path/to/script.rb’
Try 'cp --help' for more information.
我在终端中运行以下内容没有问题:
cp /path/to/script.rb /path/to/destination
也不在ruby脚本中:
system("cp /path/to/script.rb /path/to/destination")
如何更好地解决我的脚本或指向正确方向的任何建议将非常感激。
答案 0 :(得分:2)
我正在读取文件,而不是修剪换行符。这个应该从终端输出中显而易见(注意换行符和'到'之前的空格)。
改变自:
files = []
File.open(file-of-paths).read.each_line do |line|
files.push(line)
end
以下解决了这个问题:
files = []
File.open(file-of-paths).read.each_line do |line|
files.push(line.chomp)
end