如何检查目录是否为chef中的符号链接

时间:2014-04-06 09:40:44

标签: shell chef

如果不是symlnik,我只想删除目录。

directory "/var/www/html/" do
  action :delete
  only_if ???
end

2 个答案:

答案 0 :(得分:12)

选择的答案不适用于Windows或Bash是默认解释器的系统。您应该使用Ruby解决方案来实现跨平台(并且更快,因为没有进程生成):

directory '/var/www/html' do
  action :delete
  not_if { File.symlink?('/var/www/html') }
end

答案 1 :(得分:1)

怎么样:

directory "/var/www/html/" do
    action :delete
    not_if "test -L /var/www/html/"
end
如果test -L $file是符号链接,则

$file返回0(true)。