2016-08-20 2 views
1

Я пытаюсь запустить мой скрипт bash внутри сценария ожидания, но получаю ошибки.Запустить скрипт bash внутри сценария ожидания

/usr/bin/expect <<EOD 
spawn ssh [email protected] $(< try1.sh) 
expect "assword:" 
send "$reg\r" 
expect eof 
EOD 

им пытаются сделать это в ssh [email protected] "$(< try1.sh)" ожидать, это один работает, но мне нужно найти способ, чтобы запустить его в автоматизированным способом. Я не хочу использовать ключи RSA.

ошибка, в встречаются:

spawn ssh [email protected] #tats script 
invalid command name "echo" 
    while executing 
"echo "Enter Year:"" 

Также я могу запустить мой ожидать SSH сценарий, но когда я включить и попробовать, чтобы запустить мои $(< try1.sh) им получать «нет переменных ошибок»

+0

[Ссылка] (http://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command) – gks

+0

'# !/bin/bash /usr/bin/expect -c 'ожидать "\ n" {eval spawn ssh -oStrictHostKeyChecking = no -oCheckHostIP = no [email protected]$myhost.example.com; взаимодействовать} '' как вставить эту строку (ssh nginubud @ 10.123.25.83" $ (

ответ

0

Вы можете использовать ssh [email protected] bash -c .... Например:

[bash] % cat foo.sh 
export CMD=$(printf '%q' "$(< try.sh)") 
expect << EOF 
spawn ssh [email protected] bash -c \$::env(CMD) 
expect -nocase password: 
send bar\r 
expect eof 
EOF 
[bash] % cat try.sh 
echo hello world | tr a-z A-Z 
[bash] % bash foo.sh 
spawn ssh [email protected] bash -c echo\ hello\ world\ \|\ tr\ a-z\ A-Z 
[email protected]'s password: 
HELLO WORLD 
[bash] % 
+0

Спасибо, сэр. это метод работы, но мой сценарий имеет некоторый входной сигнал и я не могу вход ничего, скрипт запустить через без запроса ввода 'Enter Год: Количество Вступил дней: эхо Детали: Год: Месяц Дни эхо «Введите месяц:« эхо »Сколько дней?» Подождите, пока выдает выходной сигнал. , , сделано! ' –

+0

См. Обновленный ответ. – pynexj

+0

Привет, сэр, он запрашивает только первый ввод, затем 'Enter Year: [bash] $ 2015 -bash: 2015: command not found' –

Смежные вопросы