1

我有一个 rake 任务,用于设置一堆符号链接,但前提是它们不存在。当前,当您运行任务时,没有输出。所以你不知道有没有发生什么事。如何通过为每个符号链接说“创建”或“跳过”来提供像 Rails 生成器一样的输出?我需要包含哪些 gems 或模块才能获得这种类型的功能?

# example
task :setup do
  if !File.symlink?('/example/link')
    %x{cd /example && ln -s /something link}
  end
end
4

1 回答 1

0

我可能会为此使用 Ruby 的FileUtils ln_s功能。

ln_s(old, new, options = {})

创建一个指向旧的符号链接新的。如果 new 已经存在并且它是一个目录,则创建一个符号链接 new/old。如果 new 已经存在并且它不是目录,则引发 Errno::EEXIST。但是如果设置了 :force 选项,则覆盖新的。

FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby'
FileUtils.ln_s 'verylongsourcefilename.c', 'c', :force => true

...

ln_s(list, destdir, options = {})

在目录中创建多个符号链接,每个链接指向列表中的项目。如果 destdir 不是目录,则引发 Errno::ENOTDIR。

如果 destdir 不是目录,则引发 Errno::ENOTDIR。

于 2012-07-19T18:27:58.127 回答