5 Stimmen

crontab mit Benutzereingabe ausführen

Ich habe eine crontab erstellt, die ein Bash-Skript test.sh ausführt. Diese Datei test.sh erfordert einige Eingaben vom Benutzer und speichert die Benutzereingaben in einer Variablen. Wie kann ich sicherstellen, dass die Benutzereingabe in einer Variablen in test.sh gespeichert wird und ich die gewünschte Ausgabe erhalte, wenn crontab das Skript ausführt?

Ich habe z.B. 2 Dateien, file1.sh und file2.sh. Ich füge file2.sh in Datei 1.sh ein. Dann führe ich file1.sh aus, erhalte die Benutzereingaben und speichere sie irgendwo. crontab führt file2.sh aus und holt den Wert aus dem " irgendwo variabel gespeichert " gibt es dafür eine Möglichkeit?

5voto

Alex B Punkte 78810

Wenn die Eingabe vom Skript aus stdin nur die Eingabe aus einer Datei umleiten (unter Verwendung eines Wrapper-Skripts).

#! /bin/sh
test.sh < data.in

Wenn dies bei Ihnen nicht funktioniert (d.h. wenn Ihr Skript ein interaktives Shell-Programm wie telnet aufruft), können Sie Expect um die Interaktion zu automatisieren.

1voto

Arkady Punkte 12965
  1. file1.sh erhält Benutzereingaben und schreibt sie in /etc/file2.dat
  2. file2.sh liest /etc/file2.dat und tut, was es braucht

0voto

rix0rrr Punkte 9278

Das scheint eine seltsame Sache zu sein. Stellen Sie sich diese Fragen:

Möchten Sie wirklich, dass jedes Mal, wenn der Cron läuft, ein Popup erscheint, das den Benutzer nach einem Eingabewert fragt?

Was passiert, wenn niemand an der Tastatur sitzt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X