У моїй ситуації мені потрібно було відповісти на деякі запитання без Y чи N, але з текстом чи порожнім. Я знайшов найкращий спосіб зробити це в моїй ситуації - створити файл оболонки. У своєму випадку я назвав це autocomplete.sh
Мені потрібно було відповісти на деякі питання для експортера схем доктрини, щоб мій файл виглядав так.
- Це лише приклад -
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
Що мені подобається у цій стратегії, це те, що ви можете коментувати відповіді на відповіді, а за допомогою EOF порожній рядок - це саме це (відповідь за замовчуванням). Виявляється, у цього інструменту-експортера є власний аналог JSON для відповіді на ці питання, але я зрозумів, що це зробив після цього =).
щоб запустити скрипт, просто перейдіть до потрібного каталогу та запустіть 'sh autocomplete.sh'
у терміналі.
Коротше кажучи, використовуючи << EOL & EOF у поєднанні з Return Lines, ви можете відповісти на кожне питання підказки за необхідності. Кожен новий рядок - нова відповідь.
Мій приклад просто показує, як це можна зробити з коментарями, також використовуючи символ `, щоб ви пам'ятали, що таке кожен крок.
Зауважте, що інша перевага цього методу полягає в тому, що ви можете відповідати більше, ніж просто Y або N ... адже ви можете відповісти пробілами!
Сподіваюся, це допоможе комусь вийти.