On Fri, Nov 08, 2002 at 01:53:11PM +1300, Michael JasonSmith wrote:
> On Fri, 2002-11-08 at 13:31, Matthew Gregan wrote:
> > There is no guarantee that '0000AAAA' will one of the first files that
> > 'rm' attempts to remove.
> No, but it most cases (worst case?) it will be at the first file
> returned by glob(3).

You have forgotten the cases where glob() does not come into the
picture, which is what I'm talking about. Also, glob() can return
unsorted results if the caller requests it.

Here's an example with and without globbing:

Script started on Fri Nov  8 13:26:05 2002
$ mkdir test
$ cd test
$ ls -la
total 12
drwxr-xr-x   2 kinetik  kinetik   512 Nov  8 13:26 .
drwxr-xr-x  46 kinetik  kinetik  5120 Nov  8 13:26 ..
$ touch g f e r t h j k l m 0000AAAA
$ ls -la
total 12
drwxr-xr-x   2 kinetik  kinetik   512 Nov  8 13:26 .
drwxr-xr-x  46 kinetik  kinetik  5120 Nov  8 13:26 ..
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 0000AAAA
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 e
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 f
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 g
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 h
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 j
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 k
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 l
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 m
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 r
-rw-r--r--   1 kinetik  kinetik     0 Nov  8 13:26 t
$ rm -i * # this works, since glob() usually returns a sorted list
remove 0000AAAA? ^C
$ rm -ri ../test # glob() not used, files are removed in different order
remove ../test? y
remove ../test/g? ^C
$ 
Script done on Fri Nov  8 13:27:05 2002

Cheers,
-mjg
-- 
Matthew Gregan                     |/
                                  /|                [EMAIL PROTECTED]

Reply via email to