我有一个
shell配置脚本,它调用一个需要用户输入的命令,但是当我运行vagrant配置时,该进程在脚本中的那一点挂起,因为该命令正在等待我的输入,但是没有办法给它.有没有办法呢 – 即强制脚本以某种交互模式运行?
具体来说,我创建一个干净的Ubuntu VM,然后调用Heroku CLI来下载数据库备份(这在我的配置脚本中):
curl -o /tmp/db.backup `heroku pgbackups:url -a myapp`
但是,因为这是一个干净的VM,因此这是我第一次运行Heroku CLI命令时,系统会提示我输入我的登录凭据.由于脚本由Vagrant管理,所以没有附加任何交互式的shell,所以脚本就挂在那里.
我假设你不想用纯文本硬编码你的凭据,所以试图强制交互模式.
Thing就像您在vagrant provision doc( http://docs.vagrantup.com/v1/docs/provisioners/shell.html)中看不到这样的选项一样,所以您需要将脚本中的身份验证嵌入到其中.
您是否考虑过使用像获取令牌并使用英雄REST API而不是CLI的东西?
https://devcenter.heroku.com/articles/authentication
Thing就像您在vagrant provision doc( http://docs.vagrantup.com/v1/docs/provisioners/shell.html)中看不到这样的选项一样,所以您需要将脚本中的身份验证嵌入到其中.
您是否考虑过使用像获取令牌并使用英雄REST API而不是CLI的东西?
https://devcenter.heroku.com/articles/authentication