埋め込みファイルを使用してファイルをリモートで実行する方法はありますか?

埋め込みファイルを使用してファイルをリモートで実行する方法はありますか?

リモートでファイルを実行するためにsshコマンドを実行しようとしています。

ssh root@abc 'bash -s ' < filename.sh

filename.shしかし、他のファイルを参照する./コマンドがあり、動作しません。source

例:

filename.sh:

#!/bin/bash

echo 'hello'

. parameter.sh

echo 'Hello'

このファイルをリモートで実行するにはどうすればよいですかfilename.sh?乗り換えする必要はありませんかparameter.sh

答え1

一般的にはできませんが、この場合は次のようにできます。

{
  cat parameter.sh
  grep -xvF '. parameter.sh' filename.sh
} | ssh host bash -s

つまり、両方のファイルの内容を入力としてリモートデバイスに渡し、bash不要.になったコマンドを削除します。

関連情報