我正在写剧本。这个想法是比较本地文件和远程文件之间的 MD5 校验和。
本地文件校验和保存到本地变量中:
LOCALMD5=!chsum "$(basename "$file")"
我只是推荐这个脚本来获取远程文件的 md5 校验和。做:
ssh user@remote-dns-name
cd path/to/file
csum -h MD5 >MD5-hashsum-filename
假设我可以csum
在 ssh 环境中成功运行,如何将该命令的输出设置回我将来可以使用的局部变量?
答案1
您应该能够捕获csum
through的 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