0
我在命令行的脚本安装期间(-y
不是一个选项)尝试在[y/N]
提示中回答y
。使用期望来模拟用户输入
到目前为止,我有以下几点:
#!/bin/bash
expect << EOF
dasht-docsets-install expressjs
expect "[y/N]"
send "y"
EOF
但是,这给出了以下的输出:
invalid command name "dasht-docsets-install"
while executing
"dasht-docsets-install expressjs"
我不得不多发docsets安装,只有一个能在同一时间,即我被安装不能去dasht-docsets-install expressjs vuejs
等...所以理想情况下,我想创建一个bash函数,可以这样递docset
像这样:
doc_install expressjs
这将负责处理输入。
任何帮助,将不胜感激。
试试这个:'echo y | dasht-docsets-install expressjs' – Cyrus
似乎不起作用。 –
虽然接受的答案适用于您的特定情况,但您的问题是由于您直接在预期内调用了您的功能而导致的。期望将因此将'dasht-docsets-install'解释为预期关键字(不存在并且引发错误)。你应该写'spawn dasht-docsets-install expressjs'来使它工作。另外,为了验证你的发送,你需要写'send'y \ r“' – Aserre