Linux: Befehle mithilfe eines Skripts an die CLI übergeben

Linux: Befehle mithilfe eines Skripts an die CLI übergeben

gibt es eine Möglichkeit, Befehle direkt an die CLI eines Tools zu übergeben?

Ich möchte einige Aktionen skripten, zum Beispiel:

./OpenBTS < "tmsis"

Ich muss die Ergebnisse nicht abrufen (ich beobachte sie in der Protokolldatei). Haben Sie eine Idee, wie ich das realisieren könnte? Es gibt keine Möglichkeit, dies mit Befehlszeilenparametern zu tun, zumindest habe ich keine gefunden. Es sieht also so aus, als müsste ich mir selbst etwas einfallen lassen. Irgendeine Idee? Vielleicht könnte ich den Bildschirm so automatisieren, dass er die Eingabeaufforderung erkennt und meinen Befehl dort „einfügt“. Gibt es dafür Tools unter Linux?

Antwort1

Klingt, als ob Sie suchenerwarten

Antwort2

Sie können es mit einem Heredoc versuchen, etwa so:

./OpenBTS <<EOF
tmsis
EOF

wie im folgenden Transkript, das Eingaben einspeist in sed:

pax$ sed 's/^/Q/' <<EOF
> hello
> goodbye
> EOF
Qhello
Qgoodbye

Alternativ können Sie einfach Dinge direkt hinein echoen, wie

echo "tmsis" | ./OpenBTS

gemäß folgendem Beispiel:

pax$ echo 'hello
goodbye' | sed 's/^/Q/'
Qhello
Qgoodbye

Antwort3

Es gibt keine spezielle Möglichkeit, dies zu tun, aber wenn das Tool auf stdin lauscht, können Sie hierfür ein Heredoc verwenden.

./sometool << EOF
action1
action2
quit
EOF

verwandte Informationen