SSHを介して他のスクリプトを参照するシェルスクリプトの実行

SSHを介して他のスクリプトを参照するシェルスクリプトの実行

2つのbashスクリプトがあり、main.sh1つはutil.shutils.sh今SSHを介して実行したいと思います。明らかにこれはうまくいきません。main.sh. util.shmain.sh

SSHユーザー@ホスト "bash /dev/stdin < main.sh"

リモートシェルが見つからないため、リモートシステムにコピーせずにutil.shどうすればよいですか?util.sh

ベストアンサー1

util.sh展開する方がより良い信頼性の高いソリューションだと思いますが、次のことを行うことhostができます。main.sh

#!/bin/bash

U=$(mktemp)
cat > "$U"
. "$U"
rm -f "$U"
# rest of script

その後実行

ssh user@host main.sh < util.sh

セキュリティを強化するには、main.sh書き込み/削除不可能、入力転送なしstdinなどの一時ファイルを処理するための追加のコーディングが必要になる場合があります。

おすすめ記事