Труба с ожидаемым порождением
У меня есть скрипт для копирования некоторых файлов по SSH на другой сервер. Я'Я использую tar для сжатия файлов в архиве и распаковываю его из stdout на другой машине.
set timeout -1
# user info
set port [lindex $argv 0]
set login [lindex $argv 1]
set password [lindex $argv 3]
set host [lindex $argv 2]
#tar info
set sdir [lindex $argv 4]
set ddir [lindex $argv 5]
spawn tar cf - $sdir | ssh -p $port $login@$host tar xf - -C $ddir
expect "*?(yes/no)" {
send "yes\r"
}
expect "*?assword" {
send "$password\r"
}
expect "#" {
send "ls $ddir -la\r"
}
expect "#" {
send "exit\r"
}
interact
Но '|' Безразлично»не работает со спавном. Я пытался найти какое-либо решение, но для меня не было подходящего способа. Можете ли вы дать мне совет по этому вопросу?