将远程标准输出设置为本地 KORNSHELL 变量

将远程标准输出设置为本地 KORNSHELL 变量

我正在写剧本。这个想法是比较本地文件和远程文件之间的 MD5 校验和。

本地文件校验和保存到本地变量中:

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

我只是推荐这个脚本来获取远程文件的 md5 校验和。做:

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

假设我可以csum在 ssh 环境中成功运行,如何将该命令的输出设置回我将来可以使用的局部变量?

答案1

您应该能够捕获csumthrough的 STDOUT 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

相关内容