如何解决自动响应npm / npx命令行安装中的提示 尝试尝试尝试尝试尝试
我想通过命令行自动安装Redocly(API文档生成器)。使用npx(npx create-openapi-repo
)生成Redocly项目。安装过程会触发四个提示(以引号显示;然后是我需要输入的答案)。有些介于两者之间。
"Do you already have an OpenAPI/Swagger 3.0 definition for your API? (y/N)" y
"Please specify the path to the OpenAPI definition (local file):" test.yml
"API Name:" My API
"The following folders will be created: openapi and docs. You can change them by running create-openapi-repo Proceed? (Y/n)" Y
问题是,至少通过我的尝试,似乎启用脚本文件自动完成功能的命令没有在Redocly npx安装中启用它。
失败的尝试包括以下几种(Windows命令提示符中的一种,以及Bash中的其余种)。有些仅包含四个提示中的三个的答案,因为我很少超过第二个。
尝试
cmd.cmd:
npx create-openapi-repo
命令提示符(Windows命令提示符):
C:\Source\api-docs>(echo y && echo test.yml) | cmd.cmd
命令提示符结果:
C:\Source\api-docs>npx create-openapi-repo
Welcome to the OpenAPI-Repo generator!
? Do you already have an OpenAPI/Swagger 3.0 definition for your API? Yes
test.yml
? Please specify the path to the OpenAPI definition (local file):
<ends>
尝试
cmd.sh:
read -n 1 -p "Do you already have an OpenAPI/Swagger 3.0 definition for your API? (y/N)" Y
read -n 1 -p "Please specify the path to the OpenAPI definition (local file):" test.yml
read -n 1 -p "API Name:" My API
命令提示符(重击):
$ ./cmd.sh
命令提示符结果:
Welcome to the OpenAPI-Repo generator!
? Do you already have an OpenAPI/Swagger 3.0 definition for your API? Yes
? Please specify the path to the OpenAPI definition (local file):
尝试
命令提示符(重击)
printf 'y\test.yml\My API' | npx create-openapi-repo
结果与上面相同。
尝试
printf '%s\n' y test.yml 'My API' | npx create-openapi-repo
结果与上面相同。
尝试
cmd.txt:
y
test.yml
My API
命令提示符(重击):
npx create-openapi-repo < cmd.txt
结果与上面相同。
有人知道如何做到这一点吗?如果重要的话,目标是在Azure DevOps管道中执行Redocly的部署。管道提供了在Bash,Windows命令提示符或PowerShell中运行命令的功能。
解决方法
第一个选择是使用肖恩建议的expect
。
如果您确定两次提示之间的时间间隔(例如,少于10秒),则可以尝试以下操作:
#!/usr/bin/env bash
{
echo y
sleep 10
echo test.yml
sleep 10
echo My API
} | npx create-openapi-repo
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。