尊敬的堆栈溢出社区
我遇到了FORTRAN可执行文件(如果有人知道的话,Perple_X_6.8.5中的“ build”)需要通过我必须自动化的提示进行输入的麻烦。对于只需要一行回答的提示,我找到了以下解决方案:
./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
请注意,这不是整个提示链中的最后一个提示。更多“简单”和更多“列表”提示也随之出现。
答案 0 :(得分:2)
(首先发布为评论,但其他人认为这是答案)
程序要求输入Enter names, 1 per line, press <enter> to finish
。
每行都以<enter>
结尾,因此程序在此需要附加的<enter>
。
在最后一个热力学分量之后(在EOF或其他输入之前)插入一个空行。