Na minha situação, precisei responder a algumas perguntas sem S ou N, mas com texto ou em branco. Descobri que a melhor maneira de fazer isso na minha situação era criar um arquivo shellscript. No meu caso, chamei de autocomplete.sh
Eu estava precisando responder a algumas perguntas de um exportador de esquema de doutrina, então meu arquivo ficou assim.
- Este é apenas um exemplo -
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
O que eu gosto nessa estratégia é que você pode comentar quais são suas respostas e, usando EOF, uma linha em branco é apenas isso (a resposta padrão). Acontece que essa ferramenta exportadora tem sua própria versão JSON para responder a essas perguntas, mas descobri isso depois de fazer isso =).
para rodar o script simplesmente esteja no diretório que você deseja e rode 'sh autocomplete.sh'
no terminal.
Resumindo, usando << EOL & EOF em combinação com Return Lines, você pode responder a cada pergunta do prompt conforme necessário. Cada nova linha é uma nova resposta.
Meu exemplo apenas mostra como isso pode ser feito com comentários também usando o caractere `para que você se lembre de cada etapa.
Observe que a outra vantagem deste método é que você pode responder com mais do que apenas S ou N ... na verdade, você pode responder com espaços em branco!
Espero que isso ajude alguém.