コメントスパム対策のため、特定メールアドレスの入った突っ込みをお断りしています。
bitwarpPDA から 京ぽん2+sannet に変更して、ssh のトンネル作成に失敗することが多くなりました。
どうも ダイヤルアップ接続が完了してから DNSが使えるようになるまでのタイムラグが問題のようなので、ping による確認処理を挟んでみました。
$2(第2変数)に対して 1秒毎に ping を最大10回送り、成否を判断します。
(2007-01-19追記)こんなことしなくても、sshのリトライ設定をすれば良かったりします。
ITERATION=10 COUNT=0 while [ $COUNT -lt $ITERATION ] do sleep 1 echo "$COUNT" PING_RES=`ping -c 1 -q $2 | grep received | gawk '{print $1}'` if [ $PING_RES ]; then COUNT=`expr $ITERATION + 1` else COUNT=`expr $COUNT + 1` fi done
if [ $COUNT -le $ITERATION ]; then echo "Ping failed" exit 0 else echo "Ping succeeded" fi
スクリプト全文は長いので、適当なところに置きます。