シェルスクリプトを実際のユーザーのように動作させる方法

シェルスクリプトを実際のユーザーのように動作させる方法

私の目標は、SSHを介してGatewayというサーバーに接続し、そこからmeerkatというサーバーに接続することです。いったんミアキャットに入ったら、サーバーのディレクトリからマイコンピュータにファイルをコピーするスクリプトを実行したいと思います。

単純化のためにSSHジャンプを一度だけ行うことができると仮定できます(答えがより明確であれば)。

本質的に、私の自宅のコンピュータに任意のbashスクリプトtestScript.shがある場合、リモートサーバーでそのスクリプトをどのように実行できますか?

今私は試しました

cat testBashScript.sh | ssh -tt gateway "ssh meerkat \" cat >> testBashScript.sh  && chmod 755 testBashScript.sh && ./testBashScript.sh  \""

これは私が期待していたものとまったく異なる非常に奇妙な出力を生成します。

一般的に言えば、bashのようなシェルで手動で作業を行うことができれば、私のように「動作」し、コンピュータに入力し、実際のユーザーのように振る舞うスクリプトを書くことができるはずです。出力は大丈夫です。

スクリプトを書くとき、すべてと対話する全く異なる方法が必要ですか?それともこれを行う簡単な方法はありますか?

これが不可能な場合は、スクリプトを使用してリモートサーバー上のファイルをバックアップするより簡単な方法は何ですか?

最後に、他のすべての方法が失敗した場合、シェル環境のユーザーと異なる場合にスクリプトをどのように効率的に作成しますか?

関連情報