相关疑难解决方法(0)

如何使用Ruby中的一个命令检查目录/文件/符号链接是否存在

是否有一种方法可以检测目录/文件/符号链接/等.实体(更广义)存在?

我需要一个函数,因为我需要检查一个可能是目录,文件或符号链接的路径数组.我知道File.exists?"file_path"适用于目录和文件,但不适用于符号链接(即File.symlink?"symlink_path").

ruby directory symlink file exists

73
推荐指数
2
解决办法
6万
查看次数

厨师 - Dir.exists?守卫将符号链接视为目录

我有一个删除空日志目录的方法,然后在下一步中用符号链接替换它。

directory "#{ENV['GS_HOME']}/logs/" do
  action :delete
  only_if { ::Dir.exists?("#{ENV['GS_HOME']}/logs/") }
end
Run Code Online (Sandbox Code Playgroud)

它第一次工作,但在下一次厨师客户端运行时,当它不应该删除现在是另一个目录链接的项目时,我收到一个错误:

Errno::ENOTDIR
--------------
Not a directory @ dir_s_rmdir ...
Run Code Online (Sandbox Code Playgroud)

为什么守卫似乎将链接视为目录而不是跳过,但是资源操作正确地识别了它,而不是一个,并且失败了?解决这个问题的最佳方法是什么?

ruby chef-infra chef-recipe

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

ruby ×2

chef-infra ×1

chef-recipe ×1

directory ×1

exists ×1

file ×1

symlink ×1