Уважаемое сообщество переполнения стека,
У меня проблемы с исполняемым файлом FORTRAN ("сборка" из Perple_X_6.8.5 на случай, если кто-нибудь об этом знает), который требует ввода через приглашения, которые я должен автоматизировать.Для подсказок, для ответа на которые требуется только одна строка, я нашел следующее решение:
./build << EOF
test `# Problem name deifnition`
hp02ver.dat `# Declaration of the data base to be used`
perplex_option.dat `# Declaration of the computational option file (default)`
N `# Tranform the data base components? (No)`
N `# Saturated fluids? (No)`
N `# Saturated components? (No)`
N `# chem. pot., activities, fugacities indipendet? (No)`
EOF
Однако следующее приглашение дает мне список компонентов, из которых я должен выбрать:
Select thermodynamic components from the set:
NA2O MGO AL2O3 SIO2 K2O CAO TIO2 MNO FEO O2 H2O CO2
Enter names, 1 per line, press <enter> to finish:
Вот здесь и возникает проблема.Как бы я, следуя моему первоначальному решению для «простых» приглашений, отвечал на это приглашение, для которого требуется один компонент на строку и «ввод», чтобы перейти к следующему приглашению?
Я попробовал следующее:
./build << EOF
test `# Problem name deifnition`
hp02ver.dat `# Declaration of the data base to be used`
perplex_option.dat `# Declaration of the computational option file (default)`
N `# Tranform the data base components? (No)`
N `# Saturated fluids? (No)`
N `# Saturated components? (No)`
N `# chem. pot., activities, fugacities indipendet? (No)`
SIO2 `# List of components`
TIO2
AL2O3
FEO
MNO
MGO
CAO
NA2O
K2O
H2O
EOF
, который возвратил эту ошибку:
Fortran runtime error: Sequential READ or WRITE not allowed after EOF marker, possibly use REWIND or BACKSPACE
Обратите внимание, что это не последняя подсказка во всей цепочке подсказок.Более простые и более «списковые» подсказки следуют примеру.