Hi Eric. On 07/12/2012 05:48 PM, Eric Blake wrote: > On 07/12/2012 08:37 AM, Stefano Lattarini wrote: > >>>> Agreed (albeit it does its dirty work for now). Any suggestion on >>>> how to make it more reliable? >>> >>> Is test /usr/bin/CC -ef /usr/bin/cc portable enough? >>> >> I have no idea ... it seems to work on Cygwin 1.5 though. > > In general, 'test a -ef b' is not portable - it is not required by POSIX > 2008 (although it has been proposed for a future version of POSIX). But > on Cygwin, /bin/sh happens to support it. If you can guarantee that you > are already on cygwin before using -ef, then this would work; or maybe > if you pre-filter with 'test . -ef .' to ensure that -ef is understood, > before then trying -ef to check for case insensitivity. > > Other than that, the only supported method in existing POSIX for > checking for equal files is by parsing 'ls -i' output; but I don't know > if 'ls -i' is portable to ancient hosts. > I was fearing this would have got quickly complex and messy ...
So I think I'll stick to my dumber and safer "test -f /bin/RMDIR" as a way to detect case-insensible filesystems. Thanks, Stefano