コメントスパム対策のため、特定メールアドレスの入った突っ込みをお断りしています。
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
スクリプト全文は長いので、適当なところに置きます。