【问题标题】:how to get the return code of the binary sftp when i'am Use expect in bash script to provide password to SFTP Command当我在 bash 脚本中使用期望为 SFTP 命令提供密码时如何获取二进制 sftp 的返回码
【发布时间】:2012-04-06 00:33:44
【问题描述】:

我正在尝试在 bash 脚本中使用 expect 来提供 SFTP 密码并输入其他命令。 我正在尝试获取二进制 SFTP 的返回码。

我的测试脚本:

#!/bin/bash

USER=$1
HOST=$2
PASSWD=$3
PORT=$4
FILEIN=$5
FILEOUT=$6
ACTION=$7

CR_FTP=`/usr/bin/expect <<EOF | tee -a log.log
spawn sftp -v -oPort=$PORT $USER@$HOST
expect "password:"
send "$PASSWD\r"
expect "sftp>"
send "ls\r"
expect "sftp>"
send "$ACTION $FILEIN $FILEOUT\r"
expect "sftp>"
send "bye\r"
EOF`

echo " -------------------- $CR_FTP --------------------------"

【问题讨论】:

    标签: bash ssh sftp expect


    【解决方案1】:
    ...
    send "bye\r"
    expect eof
    set details [wait]
    puts "sftp exit status=[lindex $details 3]"
    EOF`
    

    http://www.tcl.tk/man/expect5.31/expect.1.html

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      相关资源
      最近更新 更多