2014-04-06 62 views

回答

9

所选答案在Bash是默认解释器的Windows或系统上不起作用。您应该使用Ruby解决方案以跨平台(并且更快,因为没有进程产卵):

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

谢谢!这听起来不错。我改变了食谱,它很好!食谱需要跨平台。我将答案选择更改为您的答案。 – morizotter

1

如何:

directory "/var/www/html/" do 
    action :delete 
    not_if "test -L /var/www/html/" 
end 

test -L $file返回0(真),如果$file是一个符号链接。

+0

谢谢!我解决了您的解决方案的问题。但我消除了最后的路径。 – morizotter

+1

我会在'not_if'块中寻找基于ruby的解决方案。见[这里](http://stackoverflow.com/questions/4897568/ruby-on-rails-check-if-a-directory-file-symlink-exists-with-one-command)。 – StephenKing

+0

谢谢。基于ruby的解决方案更好。 – morizotter

相关问题