[英]output from expect is not complete
我有此腳本是為了與另一台服務器進行rsync,建議是獲取arround 1600文件,此腳本作為兩個變量(日期和小時),因此,我使用shell腳本發送這兩個值,然后傳遞這些值。
期望腳本:
#!/usr/bin/expect
set DIR_DATE [lrange $argv 0 0]
# Define date variable.
set DT_HOUR [lrange $argv 1 1]
# Define hour variable.
spawn rsync -avzb -e ssh user@IPSERVER:/SOURCE_DIR/$DIR_DATE/A$DIR_DATE.$DT_HOUR*.txt /TARGET_DIR/$DIR_DATE/
expect "password:"
send "PASSWORD\r"
#interact
expect eof
Shell腳本是:
#!/bin/bash
***HERE is the code to get date and hour variable: DT_DATE,DT_HOUR; then, next step is run the expect script***
${DIR_BIN}/rsync_expect.sh ${DT_DATE} ${DT_HOUR}
您可以注意到,在Expect腳本中,我注釋了“交互式”一詞,因為:
那么,是否有任何建議才能使用Shell腳本獲取所有文件?
您可能超時了:大概在10秒內可以傳輸50個文件。 在生成之前添加此內容: set timeout -1
“ .sh”是期望腳本的錯誤文件擴展名:使用“ .exp”
lrange
命令返回一個列表 。 使用lassign $argv DIR_DATE DT_HOUR
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.