Я пытаюсь сделать Баш скрипт с ожидать в этом стиле:Ожидать функция Баш
spawn etc
expect "something"
send -- "something "
etc
Но я хотел бы сделать
send -- function()
Как это возможно?
Спасибо
Я пытаюсь сделать Баш скрипт с ожидать в этом стиле:Ожидать функция Баш
spawn etc
expect "something"
send -- "something "
etc
Но я хотел бы сделать
send -- function()
Как это возможно?
Спасибо
Баш и ожидать, что различные языки, и ожидать, что не может волшебным образом достичь в своих родителей, чтобы захватить некоторый код.
Однако, если вы экспорт функция, вы можете (в конечном счете) использовать:
Баш: определить функцию
$ function foo { echo bar; }
$ foo
bar
не в состоянии экспортировать его, попробуйте использовать его
$ expect
expect1.1> foo
invalid command name "foo"
while executing
"foo"
expect1.2> exec bash -c foo
bash: foo: command not found
while executing
"exec bash -c foo"
expect1.3> exit
сейчас, экспорт функции
$ export -f foo
$ expect
expect1.1> exec bash -c foo
bar
Теперь вы можете сделать это:
send -- "[exec bash -c your_function]\r"
Но ключ: экспортировать функцию в родительской оболочке.
Вы хотите использовать вывод функции 'bash' в качестве аргумента команды' send'/команды? Я не знаю команд 'spaw',' send' и 'etc' ... Действительно ли это сценарий' expect' вместо сценария 'bash'? – Jdamian