PHPCIというツールからDockerイメージを作成しようとしています。私はほとんどすべてを行うことができましたが、最初の問題は、スクリプトの作成データベース、セットアップユーザ名/パスワード、およびツール自体のための何らかのデフォルト設定を実行する必要があるときに表示されます。bashスクリプトが対話型のプロンプトに応答する方法(y/nのみ)?
スクリプトが(see here - 作曲からのインストール)と呼ばれるべきである。
php ./console phpci:install
そして、それはいくつかの質問を求め始めます。私は、コンテナの開始後に簡単にそれらを読むことができるように、私はENV
変数でこれらのパラメータのほとんどを格納しています
******************
Welcome to PHPCI
******************
Checking requirements... OK
Please answer the following questions:
-------------------------------------
Please enter your MySQL host [localhost]:
Please enter your MySQL database name [phpci]:
Please enter your MySQL username [phpci]:
Please enter your MySQL password:
Your PHPCI URL ("http://phpci.local" for example): http://phpci.localdomain
Use beanstalkd to manage build queue? <yes|no>
Skipping beanstalkd configuration.
Setting up your database... OK
Admin Email: <email>
Admin Name: <user_name>
Admin Password:
User account created!
:これが求められているものの完全な例です。またはさらに良いものはARG
です。私の質問は、ENV
変数から値を読み取るためにインストールスクリプトを作成する方法です。
多くの回答がありますが、それらのほとんどはyes|no
の質問のために簡単ですが、私はこの問題に関して役立つものは何も見つかりませんでした。どんな援助も大歓迎です。あなたがtmp
を実行し、シェルにそれらを貼り付ける場合は、この取得します
tmp()
{
var=fred
tmp2 << EOD
$var
EOD
}
tmp2()
{
read var2
echo $var2
}
:
> tmp
fred
を「ヒアドキュメント」構文を使用すると、含めることができます
heredocまたは 'expect'以外のものはありますか? –
@ IgnacioVazquez-Abramsあなたは[this](http://expect.sourceforge.net/)について話していますか? – ReynierPM
それは一つでしょう。 –