здравствуйте, помогите пожалуйста разобраться с expect.
если у кого-нибудь есть свободная минута, помогите пожалуйста разобраться.
есть 2 скрипта, один работает, а другой нет, вроде бы все одинаково (по крайней мере я четкой разницы не наблюдаю)
работающий:
#!/usr/bin/expect -d
set prefix [lindex $argv 0]
set file_name [lindex $argv 1]
spawn scp "$file_name" root@192.168.1.1:$prefix/$file_name
вот его вывод:
expect version 5.44.1.15
argv[0] = /usr/bin/expect argv[1] = -d argv[2] = ./test-ssh2 argv[3] = hello argv[4] = world
set argc 2
set argv0 "./test-ssh2"
set argv "hello world"
executing commands from command file ./test-ssh2
spawn scp world root@192.168.1.1:hello/world
вот не работающий:
#!/bin/bash
/usr/bin/expect -d -f - $* <<END_EXPECT
set prefix [lindex $argv 0]
set file_name [lindex $argv 1]
spawn scp "$file_name" root@192.168.1.1:$prefix/$file_name
..............
END_EXPECT
вот вывод:
expect version 5.44.1.15
argv[0] = /usr/bin/expect argv[1] = -d argv[2] = -f argv[3] = - argv[4] = hello argv[5] = world
set argc 2
set argv0 "/usr/bin/expect"
set argv "hello world"
executing commands from command file
spawn scp root@192.168.1.1:/
подскажите пожалуйста, есть ли возможность зазставить его нормально работать из скрипта bash или придется во внешний файл выносить?