Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 从远程主机检索MD5_Linux_Bash_Ssh_Md5 - Fatal编程技术网

Linux 从远程主机检索MD5

Linux 从远程主机检索MD5,linux,bash,ssh,md5,Linux,Bash,Ssh,Md5,我的目标是制作一个脚本,在本地机器上构建一个包(.tar文件),将它们上传到远程主机并检查MD5哈希和 我会怎么做: LOCALHASH=`md5sum package.tar | awk '{print $1}'` scp package.tar user@host:/opt/package.tar # actually I should use 'expect' here REMOTEHASH=`ssh user@host "md5sum /opt/package" | awk '{pri

我的目标是制作一个脚本,在本地机器上构建一个包(
.tar
文件),将它们上传到远程主机并检查MD5哈希和

我会怎么做:

LOCALHASH=`md5sum package.tar | awk '{print $1}'`
scp package.tar user@host:/opt/package.tar # actually I should use 'expect' here

REMOTEHASH=`ssh user@host "md5sum /opt/package" | awk '{print $1}'`

# check REMOTEHASH == LOCALHASH and so on
问题是:

  • 我不想处理
    expect
    。我用过它,我觉得它背叛了我
  • 实际上,这是一个常规的部署问题。你是怎么解决的
    p.S.事实上,我有一个项目,编译后有几个包。构建包时,我希望获得每个包的git修订号、时间、编译器版本和
    md5sum
    。然后部署脚本上载包并检查
    md5sum
    。我为什么这么说?因为我无法创建具有MD5总和的公共文件,所以请上载此文件并运行MD5 check命令

    在这种情况下我会怎么做:

    LOCALHASH=$(md5sum package.tar | awk '{print $1}')
    scp package.tar user@host:/opt/package.tar
    
    REMOTEHASH=$(
    ssh du@mir.afsoft.org <<'EOF'
    md5sum /opt/package.tar | awk '{print $1}'
    EOF
    )
    
    if [[ $LOCALHASH == $REMOTEHASH ]]; then
        ###
    else
        ###
    fi             
    
    LOCALHASH=$(md5sum package.tar | awk'{print$1}')
    scp package.taruser@host:/opt/package.tar
    远程哈希=$(
    
    sshdu@mir.afsoft.org您的解决方案出了什么问题?可能值得学习如何使用像debtools或rpm这样的包管理系统