如果目录中有 space,则在 ruby 中执行复制目录的 shell 脚本时出错
Error while executing shell script of copiying a directory in ruby if the directory is having a space in it
假设我有一个名为 'test folder' 的目录,当我尝试使用 ruby 脚本复制它时它抛出了一个错误。
这是我尝试过的:
irb(main):001:0>`cp -R test\ folder folder`
输出:
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file
target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
=> ""
将文件夹名称放在撇号中应该适合您:
`cp -R 'test folder' folder`
但是更 ruby 风格的方法是使用 FileUtils.cp_r
:
require 'fileutils'
FileUtils.cp_r 'test folder', 'folder'
这两种方法都会将 test folder
复制到 中 folder
因此会在 folder
下创建一个 test folder
子目录=].如果您只想复制 test folder
的 内容 ,请在命令中使用 'test folder/.'
而不是 'test folder'
。
假设我有一个名为 'test folder' 的目录,当我尝试使用 ruby 脚本复制它时它抛出了一个错误。
这是我尝试过的:
irb(main):001:0>
`cp -R test\ folder folder`
输出:
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory => ""
将文件夹名称放在撇号中应该适合您:
`cp -R 'test folder' folder`
但是更 ruby 风格的方法是使用 FileUtils.cp_r
:
require 'fileutils'
FileUtils.cp_r 'test folder', 'folder'
这两种方法都会将 test folder
复制到 中 folder
因此会在 folder
下创建一个 test folder
子目录=].如果您只想复制 test folder
的 内容 ,请在命令中使用 'test folder/.'
而不是 'test folder'
。