こんなん憶えられるかぁ、な、bash 構文 (python の range 相当)

一度も一発で思い出せた試しがない構文が一つだけあって…。

python で言うところの「range(1, 11)」とかに相当するヤツね。

 1 me@host: ~$ for i in {1..10} ; do echo $i ; done
 2 1
 3 2
 4 3
 5 4
 6 5
 7 6
 8 7
 9 8
10 9
11 10
12 me@host: ~$ echo {1..10}
13 1 2 3 4 5 6 7 8 9 10

なにゆえに記憶出来ないかといえば、一に、「多分昔はなかったから」、二に、「ピリオド2つなのか3つなのか忘れる」、三に、「ついダラーを付けてしまう」、四に、「中括弧1つなのか2つなのか忘れる」、五に、「..の前後に空白いるんだっけと悩む」、…から。

整数計算式:

1 me@host: ~$ echo $((3 * 10))
2 30

はダラーつけるじゃん。

「昔はなかった」については、正直はっきりしたことは言えない。アタシの bash との付き合いはもはや20年近くになるけれど、フルに使いこなしてきたわけでもないし。特に configure 系での「bash 的な便利さ」を避ける癖もあったもんで特にね。「昔は」という意味だと、この手のことをするには、tr、expr、awk、perl を呼び出してたかなぁ。

馬鹿なperlです、あたしは perl 使いではないので
1 me@host: ~$ for i in `perl -e 'for (my $i=0; $i <= 10; $i++) {printf("%s\n", $i);}'` ; do
2 > echo $i
3 > done