2016-06-13 8 views
0

Wie kann ich die folgenden Vorgänge durchführen?Wie liest man die Eingabe eines Fortran-Programms in einer Zeile (ohne den Quellcode zu ändern)?

./a.out 1 2 

statt mit:

./a.out 

'ersten Wert eingeben:' (read) 1

'zweiten Wert eingeben:' (read) 2

Ich mag nicht die Quelle ändern Mein Programm a.out in Fortran geschrieben.

+0

Willkommen bei Stackoverflow, sollten Sie in der Hilfe lesen . Wenn eine Frage Ihr Problem gelöst hat, können Sie es akzeptieren, indem Sie auf eine grüne Markierung auf der linken Seite der Frage klicken. –

Antwort

3

Legen Sie einfach einen Wrapper um Ihre a.out. So speichern die folgenden als wrapper:

#!/bin/bash 
./a.out<<EOF 
$1 
$2 
EOF 

Jetzt, wo ausführbar machen mit:

chmod +x wrapper 

Dann können Sie laufen:

./wrapper 3 4 
+0

Danke! Kann ich einen ähnlichen Befehl "./a.out< TobiR

+0

Nicht sicher, was Sie meinen, Sie können 'printf% s \ n% s \ n" $ 1 $ 2 | ./a.out' in einer Zeile. –

+0

Ja, ich habe darüber nachgedacht! Danke für Ihre Hilfe! – TobiR