In meiner Situation musste ich einige Fragen ohne J oder N, aber mit Text oder Leerzeichen beantworten. Ich fand den besten Weg, dies in meiner Situation zu tun, darin, eine Shellscript-Datei zu erstellen. In meinem Fall habe ich es autocomplete.sh genannt
Ich musste einige Fragen für einen Exporteur von Doktrinschemata beantworten, damit meine Datei so aussah.
- Dies ist nur ein Beispiel -
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
Was mir an dieser Strategie gefällt, ist, dass Sie Ihre Antworten kommentieren können und bei Verwendung von EOF eine leere Zeile genau das ist (die Standardantwort). Es stellt sich heraus, dass dieses Exporteur-Tool ein eigenes JSON-Gegenstück zur Beantwortung dieser Fragen hat, aber ich habe das herausgefunden, nachdem ich dies getan habe =).
Um das Skript auszuführen, befinden Sie sich einfach in dem gewünschten Verzeichnis und führen es 'sh autocomplete.sh'
im Terminal aus.
Kurz gesagt, indem Sie << EOL & EOF in Kombination mit Return Lines verwenden , können Sie jede Frage der Eingabeaufforderung nach Bedarf beantworten. Jede neue Zeile ist eine neue Antwort.
Mein Beispiel zeigt nur, wie dies mit Kommentaren auch mit dem Zeichen `gemacht werden kann, damit Sie sich daran erinnern, was jeder Schritt ist.
Beachten Sie, dass der andere Vorteil dieser Methode darin besteht, dass Sie mit mehr als nur J oder N antworten können. Sie können sogar mit Leerzeichen antworten!
Hoffe das hilft jemandem.