Dans ma situation, j'avais besoin de répondre à certaines questions sans O ou N mais avec du texte ou du blanc. J'ai trouvé que le meilleur moyen de faire cela dans ma situation était de créer un fichier shellscript. Dans mon cas, je l'ai appelé autocomplete.sh
J'avais besoin de répondre à quelques questions pour un exportateur de schéma de doctrine, donc mon fichier ressemblait à ceci.
- Ceci est un exemple seulement -
php vendor/bin/mysql-workbench-schema-export mysqlworkbenchfile.mwb ./doctrine << EOF
`#Export to Doctrine Annotation Format` 1
`#Would you like to change the setup configuration before exporting` y
`#Log to console` y
`#Log file` testing.log
`#Filename [%entity%.%extension%]`
`#Indentation [4]`
`#Use tabs [no]`
`#Eol delimeter (win, unix) [win]`
`#Backup existing file [yes]`
`#Add generator info as comment [yes]`
`#Skip plural name checking [no]`
`#Use logged storage [no]`
`#Sort tables and views [yes]`
`#Export only table categorized []`
`#Enhance many to many detection [yes]`
`#Skip many to many tables [yes]`
`#Bundle namespace []`
`#Entity namespace []`
`#Repository namespace []`
`#Use automatic repository [yes]`
`#Skip column with relation [no]`
`#Related var name format [%name%%related%]`
`#Nullable attribute (auto, always) [auto]`
`#Generated value strategy (auto, identity, sequence, table, none) [auto]`
`#Default cascade (persist, remove, detach, merge, all, refresh, ) [no]`
`#Use annotation prefix [ORM\]`
`#Skip getter and setter [no]`
`#Generate entity serialization [yes]`
`#Generate extendable entity [no]` y
`#Quote identifier strategy (auto, always, none) [auto]`
`#Extends class []`
`#Property typehint [no]`
EOF
Ce que j'aime dans cette stratégie, c'est que vous pouvez commenter vos réponses et utiliser EOF une ligne vide est juste cela (la réponse par défaut). Il s'avère que cet outil d'exportateur a son propre équivalent JSON pour répondre à ces questions, mais je l'ai compris après avoir fait ceci =).
pour exécuter le script, soyez simplement dans le répertoire souhaité et exécutez-le 'sh autocomplete.sh'
dans le terminal.
En bref, en utilisant << EOL & EOF en combinaison avec les lignes de retour, vous pouvez répondre à chaque question de l'invite si nécessaire. Chaque nouvelle ligne est une nouvelle réponse.
Mon exemple montre simplement comment cela peut être fait avec des commentaires en utilisant également le caractère `afin que vous vous souveniez de chaque étape.
Notez que l'autre avantage de cette méthode est que vous pouvez répondre avec plus que Y ou N ... en fait, vous pouvez répondre avec des blancs!
J'espère que cela aide quelqu'un.