2006-10-23 曇り一時雨,夕方以降半袖では寒い [長年日記]
_1 Re: メインバンク
ついに乗り換え先の口座ができた.
最近の銀行はすごいね.店舗まで行かなくても郵送だけで口座を開設できるなんて.なんて素晴らしい.
でももっと早くできるはずなのにいろいろ手間取ったのも確か.直接窓口まで行けば1hもかからずにできるのに,結局3週間近くかかった気がする.コレだけ時間がかかったのは
- 本人確認資料の種類を間違えて送り直し発生
- ガス料金ではダメ
- 住所書き間違え
- いつものクセで省略住所を記入したら,正式なヤツじゃないとダメと言われた
- 不在連絡票
- 土曜日に入っていたのに気が付かずに翌月曜日に
があったから.そのため,今月の給与振り込みや引き落としの手続きが間に合わんかった.うーむ,来月口座をつぶしに行く予定だったのだが大丈夫だろうか.ちょっと不安.
で,先ほど早速オンラインバンキングの申し込みをしようと思ったら,申し込みは2330までだと.うーむ,残念.明日はできるといいのだが.
_3 testコマンド
ある変数に値が入っているかどうかを確認しようと
if [ -n $argv ]
としていたが,必ず条件がtrueになっていた.原因は,上記条件文だと$argvを文字列として評価してしまうため.正しくは,$argvの内容を評価させるという意味で
if [ -n "$argv" ]
としなくてはいけなかった.
_4 getopts
すべての引数が"-"から始まらないとすべての引数を評価できないので注意.例えば
-a aaa -b bbb ccc -d ddd
という場合,"ccc"は"-"から始まらないのでダメ. -a,-bまでは正しく評価しているが,-dが評価されない.
1 #!/bin/bash 2 3 val_a="" 4 val_b="" 5 val_d="" 6 7 while getopts a:b:d: opt 8 do 9 case $opt in 10 a) 11 val_a=$OPTARG 12 ;; 13 b) 14 val_b=$OPTARG 15 ;; 16 d) 17 val_d=$OPTARG 18 ;; 19 *) 20 echo $opt 21 ;; 22 esac 23 done 24 25 echo $val_a 26 echo $val_b 27 echo $val_d 28 29 exit 0
% sh -x ./getopts-test.sh -a aaa -b bbb ccc -d ddd + val_a= + val_b= + val_d= + getopts a:b:d: opt + case $opt in + val_a=aaa + getopts a:b:d: opt + case $opt in + val_b=bbb + getopts a:b:d: opt + echo aaa aaa + echo bbb bbb + echo + exit 0
引数"bbb"までは処理できているが,"-"から始まらない"ccc"のところでgetoptsのループを抜けている.