Yuguie$B$G$9!#e(B
e$B<!$N>l9g!“e(BErrno::EACCESe$B$NH/@8$r4|BT$7$^$7$?$,!”<B:]$K$Oe(BErrno::EEXISTe$B$,H/@8$7$^$7$?!#e(B
- FileUtils.mkdir_p “/a/b/c” e$B$r<B9Te(B
- e$B%G%#%l%/%H%je(B /a/b e$B$O4{$KB8:_$9$ke(B
- SELinuxe$B4D6-$G!“e(Brubye$B%W%m%;%9$Ke(B /a e$B$re(B read, search
e$B$9$k8"8B$,$”$k$,e(B/a/be$B$re(Bgetattre$B$9$k8"8B$,$J$$e(B
e$B$3$l$O!“e(Bmkdir_pe$B$,$H$j$”$($:=g$Ke(B/a, /a/b/,
/a/b/ce$B$N:n@.$r;n$!"ESCf$GNc30$,@8$8$?>l9ge(B
File.directory?e$B$G:n$m$&$H$7$?%G%#%l%/%H%j$,B8:$9$k>l9g$O0.$j$D$V$7$FB39T$9$k@oN,$r<h$C$F$$$k$?$a$G$9!#e(B
FileUtils.mkdir("/a/b/c")e$B$9$k2aDx$Ge(Bmkdir("/a/b")e$B$,e(BEEXISTe$B$rJV$9$N$OJL$K$*$+$7$J$3$H$G$O$"$j$^$;$s$,!“e(B
File.directory?(”/a/b")e$B$,Fb$Ge(Bstat("/a/b")e$B$,e(BEACCESe$B$rJV$7!"7k2L$H$7$Fe(Bmkdire$B$Ne(BEEXISTe$B$,e(BErrno::EEXISTe$B$H$7$FNcAw=P=P$5$l$^$9!#e(B
e$B$3$3$G!“e(Bmkdir(2)e$B$,e(BEACCESe$B$de(BEDQUOTe$B$rJV$7$?>l9g$O$H$b$+$/!”>/$J$/$H$be(BEEXISTe$B$N>l9g$Oe(BFile.directory?("/a/b")e$B$re(B
e$B;n9T$;$:$KB39T$7$Fe(Bmkdir("/a/b/c")e$B$G%(%i!<$,H/@8$9$k$N$rBT$D$Y$-$G$O$J$$$G$7$g$&$+!#$=$&$9$k$H!">e5-$N>l9ge(B
mkdir_p("/a/b/c")e$B$Oe(BErrno::EACCESe$B$rH/@8$7$F!"LdBj$N=j:_$,$h$jJ,$+$j$d$9$/$J$j$^$9!#e(B
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 8c522ce…1391b50 100644
— a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -215,6 +215,7 @@ module FileUtils
stack.reverse_each do |dir|
begin
fu_mkdir dir, options[:mode]
-
rescue Errno::EEXIST rescue SystemCallError => err raise unless File.directory?(dir) end