Trong tình huống của tôi, tôi cần trả lời một số câu hỏi không có Y hoặc N nhưng với văn bản hoặc để trống. Tôi tìm thấy cách tốt nhất để làm điều này trong tình huống của tôi là tạo một tệp shellcript. Trong trường hợp của tôi, tôi gọi nó là autocomplete.sh
Tôi cần trả lời một số câu hỏi cho một nhà xuất lược đồ học thuyết nên tệp của tôi trông như thế này.
- Đây chỉ là một ví dụ -
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
Điều tôi thích ở chiến lược này là bạn có thể nhận xét câu trả lời của bạn là gì và sử dụng EOF một dòng trống chỉ đó là (câu trả lời mặc định). Hóa ra công cụ xuất khẩu này có đối tác JSON của riêng nó để trả lời những câu hỏi này, nhưng tôi đã tìm ra điều đó sau khi tôi làm điều này =).
để chạy script chỉ cần ở trong thư mục bạn muốn và chạy 'sh autocomplete.sh'
trong terminal.
Tóm lại, bằng cách sử dụng << EOL & EOF kết hợp với Return Lines, bạn có thể trả lời từng câu hỏi của lời nhắc nếu cần. Mỗi dòng mới là một câu trả lời mới.
Ví dụ của tôi chỉ cho thấy cách này có thể được thực hiện với các nhận xét cũng sử dụng ký tự `để bạn nhớ từng bước là gì.
Lưu ý ưu điểm khác của phương pháp này là bạn có thể trả lời với nhiều hơn sau đó chỉ cần Y hoặc N ... trên thực tế, bạn có thể trả lời với khoảng trống!
Mong rằng nó giúp ai đó thoát.