パラメーター付き関数を呼び出す操作用に作成したスクリプトがあります。パラメーターを使用してssh
サーバーに入ります。私の質問は:サーバーとの接続が失われたときに自動的にスクリプトを呼び出すようにこのメソッドを呼び出す方法はありますか?たとえば、ssh
私たちのサーバーの1つに入ることができます。reverse-ssh
1時間後に接続が閉じるようにトンネルを設定しました。接続を切断した後、ホスト名を求めるスクリプトが再度呼び出されることを願っています。
#!/bin/bash
echo "Provide hostname: "
read host
createSSHFunction()
{
arg1=$1
ssh $host
}
createSSHFunction $host
答え1
再帰はほとんど問題を解決しません:-)
簡単なループで目的の操作を実行できます。
while :; do
ssh $host
done
終了するたびに、ssh
スクリプトはループの次の反復に移動して再実行されます。
in はwhile :
常に:
真の値を返すので、while
決して終了しない noop コマンドです。ループを終了する方法が必要な場合は、その基準が何であるかを特定してテストする必要があります。
答え2
無限に繰り返す必要がありますが、完了したらスクリプトが再実行されないようにする必要があります。
while ((1)); do script.sh; sleep 3; done
3秒で眠ると、この悪循環を壊す機会が与えられます。 SSHが完了したら終了します。 3秒後にスクリプトが再起動されます。これが発生しないようにするには、Ctrl-Cループを停止してください。