リモート標準出力をローカルKORNSHELL変数に設定

リモート標準出力をローカルKORNSHELL変数に設定

台本を書いています。アイデアは、ローカルファイルとリモートファイル間のMD5チェックサムを比較することです。

ローカルファイルチェックサムはローカル変数に保存されます。

LOCALMD5=!chsum "$(basename "$file")"

リモートファイルのmd5チェックサムを取得するには、このスクリプトをお勧めします。する:

ssh user@remote-dns-name 
cd path/to/file
csum -h MD5 >MD5-hashsum-filename

SSH環境で正常に実行できると仮定すると、そのコマンドのcsum出力を後で使用できるローカル変数にリセットするにはどうすればよいですか?

ベストアンサー1

csumSTDOUTでキャプチャできるはずですssh

csumハッシュとファイル名を含む完全な出力を取得するには、次の手順を実行します。

bash-$ remoteMD5=$(ssh user@remote-dns-name "csum -h MD5 /full/path/to/file")
bash-$ echo $remoteMD5
723fc34e606a4d0002fe86f417be5f56 /full/path/to/file

あるいは、単にハッシュを返すこともできます。

bash-$ remoteMD5=$(ssh user@remote-dns-name "csum -h MD5 /full/path/to/file" | awk '{print \$1}'")
bash-$ echo $remoteMD5
723fc34e606a4d0002fe86f417be5f56

おすすめ記事