我有一个rake任务,用于设置一堆符号链接,但前提是它们尚不存在。目前,当您运行任务时,没有输出。所以你不知道是否发生了什么。我如何通过为每个符号链接说“创建”或“跳过”来提供像Rails生成器那样的输出?我需要包含哪些宝石或模块才能获得此类功能?
# example
task :setup do
if !File.symlink?('/example/link')
%x{cd /example && ln -s /something link}
end
end
答案 0 :(得分:0)
我可能会使用Ruby的FileUtils ln_s功能。
ln_s(old, new, options = {})
创建一个指向旧的符号链接new。如果新的已存在 它是一个目录,创建一个新的/旧的符号链接。如果新的已经 存在并且它不是目录,引发Errno :: EEXIST。但如果:强迫 选项已设置,覆盖新。
FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby'
FileUtils.ln_s 'verylongsourcefilename.c', 'c', :force => true
...
ln_s(list, destdir, options = {})
在目录中创建多个符号链接,每个链接指向一个 到列表中的项目。如果destdir不是目录,则引发 错误号:: ENOTDIR。
如果destdir不是目录,则引发Errno :: ENOTDIR。