当我尝试通过ssh
登录服务器后创建文件夹时,expect脚本返回无效命令这是我得到的以下错误
invalid command name "mkdir"
while executing
"mkdir new"
(file "./connecttotravalour.exp" line 8)
我期望脚本上的代码是:
#!/bin/bash
#connect to travalour host
spawn ssh travalour@travalour.local
expect "password"
send "P@ssw0rd\r"
interact
mkdir new
答案 0 :(得分:0)
针对类似问题发布答案表单askubuntu
期望编程的主要推动力是发送和期望对:您向生成的进程发送一些文本并期望响应。在这种情况下,您发送mkdir命令,并期望看到您的提示知道该命令已完成。提示最好匹配为正则表达式以匹配它的结尾。由于提示是如此可配置,您可能需要编辑提示表达式:这一个匹配文字美元符号和字符串末尾的空格。
#!/bin/bash
#connect to travalour host
spawn ssh travalour@travalour.local
expect "password"
send "P@ssw0rd\r"
set prompt_re {\$ $}
expect -re $prompt_re
send "mkdir -p new"
expect -re $prompt_re
interact