Dalam situasi saya, saya perlu menjawab beberapa pertanyaan tanpa Y atau N tetapi dengan teks atau kosong. Saya menemukan cara terbaik untuk melakukan ini dalam situasi saya adalah dengan membuat file shellscript. Dalam kasus saya, saya menyebutnya pelengkapan otomatis.sh
Saya perlu menjawab beberapa pertanyaan untuk eksportir skema doktrin sehingga file saya terlihat seperti ini.
- Ini hanya contoh -
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
Hal yang saya suka tentang strategi ini adalah Anda dapat mengomentari apa jawaban Anda dan menggunakan EOF baris kosong hanya itu (jawaban default). Ternyata alat eksportir ini memiliki mitra JSON sendiri untuk menjawab pertanyaan-pertanyaan ini, tetapi saya mengetahuinya setelah saya melakukan ini =).
untuk menjalankan skrip cukup berada di direktori yang Anda inginkan dan jalankan 'sh autocomplete.sh'
di terminal.
Singkatnya dengan menggunakan << EOL & EOF dalam kombinasi dengan Garis Kembali, Anda dapat menjawab setiap pertanyaan dari prompt yang diperlukan. Setiap baris baru adalah jawaban baru.
Contoh saya hanya menunjukkan bagaimana ini bisa dilakukan dengan komentar juga menggunakan karakter `sehingga Anda ingat apa setiap langkahnya.
Perhatikan keuntungan lain dari metode ini adalah Anda dapat menjawab dengan lebih dari hanya Y atau N ... sebenarnya Anda dapat menjawab dengan kosong!
Semoga ini membantu seseorang.