如何获取从expect脚本调用的shell脚本的输出?

时间:2017-05-03 07:08:20

标签: ksh expect

我的要求是我有一个从远程服务器复制的tar文件,我必须检查它是否使用校验和正确复制。我的问题是我需要2个shell脚本:1。ssh到服务器获取服务器2中文件的校验和值。该脚本获取本地文件的校验和并比较本地和服务器文件校验和的值。我的问题是第二个shell脚本中的print语句不在屏幕上打印。这就是我所做的:

期待脚本:

set tarFile [lindex $argv 0]
log_user 0
spawn /home/bmc/login.sh
expect "password:"
send "pwd\r"
expect "]#"
sleep 60
send "md5sum $tarFile\r"
expect "]#"
set valfromserver $expect_out(buffer)
set vals [split $valfromserver "\n"]
set hashval [lindex $vals 1]
send "logout"
spawn /home/bmc/newscript.sh $tarFile $hashval

用于比较哈希值的脚本

#!/bin/ksh
hashval=$(md5sum /repo/$USER/$1)
arr=($hashval)
if [[ $2 == ${arr[0]} ]]; then
    print "file on server and client are of same size"
else
    print "files not copied properly"
fi

0 个答案:

没有答案