我有一个执行shell脚本一个pom.xml文件,shell脚本有提示
“进入‘YES’有这样的剧本继续:”
我如何告诉行家1)解析提示,2)输入YES时,看到的提示吗?
或者至少,回答上面的第二个问题?
谢谢。
我有一个执行shell脚本一个pom.xml文件,shell脚本有提示
“进入‘YES’有这样的剧本继续:”
我如何告诉行家1)解析提示,2)输入YES时,看到的提示吗?
或者至少,回答上面的第二个问题?
谢谢。
我有一个类似的问题。 我的一个插件被设计用来显示一些信息给用户,只有确认后进行。 当我不得不使用它我们的CI构建服务器上,我结束了这一点:
回声 'Y' | MVN释放:支...
我假设你既可以用这种方法去(如果你的作品),或使用gmaven
插件你的shell脚本的执行,将写入所需的字符串输入系统之前执行Groovy代码。
你在非交互模式下使用交互式脚本。 该脚本应该有一个参数(即--non交互,或-y / -n等),应禁用提示,并迫使答案。
安装脚本运行的yes | ./script
yes | ./script
中的pom.xml
最后我用https://bitbucket.org/atlassian/bash-maven-plugin ,在我的pom.xml文件中有这样
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>bash-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<id>execute-shell</id>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<script>./build_dm.sh --accept-warning</script>
</configuration>
</execution>
</executions>
</plugin>
你可以使用期望 ,写一个包装脚本,反过来,调用交互脚本。
要在Ubuntu上安装它:
sudo apt-get install expect
这个脚本应该工作:
#!/usr/bin/expect
spawn ./test.sh
expect "Enter 'YES' to have this script continue:"
send "YES\r"
interact