リモート シェル スクリプトでエラーが発生した場合に、ローカルの親シェルを停止するにはどうすればよいですか?

リモート シェル スクリプトでエラーが発生した場合に、ローカルの親シェルを停止するにはどうすればよいですか?

ローカル シェル スクリプトを使用して、リモート サーバーでシェル スクリプトを実行しようとしています。
リモート シェル スクリプトでエラーが発生した場合、ローカル シェル スクリプトを停止する必要があります。

私は次のように ssh 経由でリモート シェル スクリプトを実行しています。

##parent shell script##
#!/bin/bash -ex
scp remote_shell.sh ${host}:${path}
ssh ${host} '${path}/remote_shell.sh ; rm ${path}/remote_shell.sh'
..do something
##remote_shell.sh##
#!/bin/bash -ex
..do something
..error occurred
exit 1

問題は、remote_shell.sh が 1 で終了しても、親シェルが停止しないことです。

このスクリプトをローカル(ssh なし)で試したところ、親が予想どおりに停止しました。
この問題は 3 行目の ';' 演算子に関連していますか?
(失敗に関係なく、remote_shell.sh ファイルを削除する必要があります。)

もちろん、If Else コードを使用してこれを実現できますが、シンプルにしたいと思っています。

答え1

使用

ssh ${host} '${path}/remote_shell.sh'

または

ssh ${host} '${path}/remote_shell.sh ; R=$?; rm ${path}/remote_shell.sh; exit $R'

または終了コードを保存する他の方法

関連情報