Nella mia situazione avevo bisogno di rispondere ad alcune domande senza S o N ma con testo o vuoto. Ho scoperto che il modo migliore per farlo nella mia situazione era creare un file shellscript. Nel mio caso l'ho chiamato autocomplete.sh
Avevo bisogno di rispondere ad alcune domande per un esportatore di schemi dottrine, quindi il mio file assomigliava a questo.
- Questo è solo un esempio -
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
La cosa che mi piace di questa strategia è che puoi commentare le tue risposte e usare EOF una riga vuota è proprio questo (la risposta predefinita). Si scopre che questo strumento di esportazione ha la sua controparte JSON per rispondere a queste domande, ma l'ho capito dopo aver fatto questo =).
per eseguire lo script è sufficiente essere nella directory desiderata ed eseguire 'sh autocomplete.sh'
nel terminale.
In breve, utilizzando << EOL & EOF in combinazione con Return Lines puoi rispondere a ciascuna domanda del prompt secondo necessità. Ogni nuova riga è una nuova risposta.
Il mio esempio mostra solo come questo può essere fatto con i commenti usando anche il carattere `in modo da ricordare qual è ogni passaggio.
Nota che l'altro vantaggio di questo metodo è che puoi rispondere con più di Y o N ... in effetti puoi rispondere con spazi vuoti!
Spero che questo aiuti qualcuno.