bashの補完機能はコマンド名の途中やファイル名の途中でTabを押すと残りを補完してくれる便利な機能ですが、今日いじっていたらsubstring expression < 0と警告が出て驚きました。
警告の中身は下のような感じです。例ではscpですが、他のコマンド(telnetやcpやls)でも同じ現象が起きます。
$ . /etc/bash_completion $ scp scp -bash: COMP_CWORD]: bad array subscript -bash: COMP_CWORD]: bad array subscript -bash: COMP_CWORD]: bad array subscript -bash: COMP_CWORD]: bad array subscript ::1: ip6-allnodes: pigeon02: falcon: ip6-allrouters: share/ fe00::0: ip6-localhost: show_cmdname.bashrc ff00::0: ip6-localnet: sortzip.sh ff02::1: ip6-loopback: swan: ff02::2: ip6-mcastprefix: usr/ ff02::3: localhost: zipall.sh ip6-allhosts: pigeon01: $ scp $ scp a -bash: $index: substring expression < 0 -bash: $index: substring expression < 0 ::1: ip6-allnodes: pigeon02: falcon: ip6-allrouters: share/ fe00::0: ip6-localhost: show_cmdname.bashrc ff00::0: ip6-localnet: sortzip.sh ff02::1: ip6-loopback: swan: ff02::2: ip6-mcastprefix: usr/ ff02::3: localhost: zipall.sh ip6-allhosts: pigeon01: $ scp a a
1番目の例でのポイントはscp(スペース)(スペース) と打って、Tabを押すときに、最後のスペース(左から5文字目)にカーソルを合わせておくことです。
2番目の例でのポイントはscp(スペース)a(スペース)(スペース)aと打つことと、Tabを押すときに、最後のスペース(左から7文字目)にカーソルを合わせておくことです。
理由はわかりませんが、スペース2連続が鬼門みたいです。/etc/bash_completionの実装がどこかおかしいのかもしれんね。
来週に迫った、蛍見物&キャンプの準備のため、近所のホームセンターに買い物に行きました。
幹事から買い物係に指名された数人で、買い物に行ったのですが、人それぞれで買い物への考え方やスタンスが違っていて面白かったです。
大きく分けると、何かあって足りないより多少余るくらいが良い、というタイプと、余らせるのは無駄だからちゃんと考えて買おう、というタイプに分かれます。
私は前者タイプです。いざ本番で足りないことが発覚したとき、店を探すのはとても大変ですし、土壇場の店探しで時間を浪費するくらいなら、多少損してでも、多めに買うとか、余計かもしれない物でも揃えます。
これを見た後者タイプの人は、みんなのお金を無駄に使うなんて勿体ない!と思うようです。
どっちの言い分も分かる気がします。これといった正解はないんでしょうね。
< | 2009 | > | ||||
<< | < | 06 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 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 | - | - | - | - |
合計:
本日: