2017-12-21 1 views
-6

Ich habe eine ausführbare Datei, in der ich eine Nummer schreibe. Außerdem habe ich eine script.sh, die die ausführbare Datei öffnet. Wie kann ich die Nummer in der ausführbaren Datei aus dem Skript schreiben?Wie kann ich eine Nummer in eine ausführbare Datei von einem Skript schreiben

Mein Skript wie folgt aussieht:

#!/bin/bash 

number=2 

./exec 

printf '%d\n' $number 

Dies funktioniert nicht. Zuerst wird die ausführbare Datei beendet, nachdem die Nummer angezeigt wurde.

+4

Was bedeutet "Eine Zahl in eine ausführbare Datei einfügen" hier? Besteht es als Argument? Schreibe es, physisch irgendwo in der Datei (wo?)? Können Sie näher erläutern, was Sie zu tun versuchen? Wie ... könntest du die ausführbare Datei mit einem Texteditor öffnen, die Nummer schreiben, sie schließen und dann ausführen und das würde funktionieren, aber du willst das in einem Skript erledigen ... oder so? – JNevill

+0

Dies ist nicht so einfach wie Sie denken (basierend auf Ihrem Code). Mit dem Tag 'bash' könnte ich annehmen, dass Sie' exec' auf 'linux' laufen lassen? Angenommen, die 'exec' ist Ihre eigene App, versuchen Sie, die Nummer als Parameter an die exec zu übergeben und sie in der App auszudrucken:' ./exec $ number' oder geben Sie einen Fehlercode aus Ihrer App zurück und drucken Sie diesen in 'bash'. Eine andere Möglichkeit, dies zu tun, besteht darin, die "Zahl" als Umgebungsvariable zu "exportieren" und dann den Wert davon innerhalb des "exec" zu ändern, wobei letzteres relativ einfach sein sollte. – nurchi

+0

@JNevill, meine beste Schätzung ist, dass OP versucht, den Wert von 'number' innerhalb von' exec' zu ändern und diese Änderung an das aufrufende Skript weiterzugeben ... – nurchi

Antwort

0

Ich denke, dass Sie bitten, das Skript Feed eine bestimmte Nummer für die Standardeingabe der ausführbaren Datei. Dies geschieht folgendermaßen:

echo $number | ./exec 
+0

es funktioniert! Danke vielmals! –

Verwandte Themen