On Sun, Mar 05, 2006 at 09:50:36PM +0100, Penguin Lover Alexander Skwar
squawked:
> Franta wrote:
>
> > [EMAIL PROTECTED] ~/MyDB $ for AA in [0-9][0-9] ; do echo $AA; done
> > [0-9][0-9]
> > [EMAIL PROTECTED] ~/MyDB $
> >
> > Is this fixed somehow?
>
> [0-9][0-9] will do file name globbing, it seems. Do:
>
> touch 00 99
>
It works for globbing as wild cards, but won't work for what he wants
(I think.)
If you want to expand everything from 00 to 99, you want brace
expansion:
[05:41 PM]wwong ~ $ echo {0..9}{0..9}
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
[05:42 PM]wwong ~ $ echo {0..99}
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
It also works for letters
[05:45 PM]wwong ~ $ echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ a b c d e f g h i
j k l m n o p q r s t u v w x y z
So, what you wanted would be
for AA in {0..9}{0..9}; do echo $AA; done
What you had (for AA in [0-9][0-9]) would be interpreted by bash as:
for AA in {filename that matches the glob [0-9][0-9]}
which, if you don't have any files named like that, will be
for AA in {null string}
and hence the behaviour you saw.
W
--
I am a nobody
Nobody is perfect
Therefore, I am perfect.
Sortir en Pantoufles: up 113 days, 15:06
--
[email protected] mailing list