
Ich habe eine Shell namenst.sh Der Inhalt ist:
touch 88888
Der Befehl, den ich verwende, ist
sh t.sh | at 03:13Jun15
Nachdem ich diesen Befehl ausgeführt habe, wird Folgendes auf meinem Bildschirm angezeigt:
warning: commands will be executed using /bin/sh
job 9 at Sun Jun 15 03:13:00 2014
Es ist ganz klar, dass dies am Sonntag, 15. Juni 2014 um 03:13:00 Uhr ausgeführt wird.
Aber wenn ich meinen Ordner überprüfe, stelle ich fest, dass dort eine Datei 88888 vorhanden ist. Ich habe sie verschoben und es erneut versucht, immer noch das gleiche Ergebnis.
Was ist hier das Problem? Wäre es eine Bash/Sh-Sache? Weil ich gesehen habe, dass dort steht, dass es von /bin/sh ausgeführt wird?
Antwort1
at
liest Befehle von der Standardeingabe oder aus einer Datei, wenn Sie das -f
Flag angeben. Folgendes sh t.sh | at [time]
geschieht:
1. execute the shell script t.sh *right now*;
2. pipe the output of the shell script to at.
Da das Skript jedoch keine Ausgabe erzeugt, gibt es am Sonntag nichts auszuführen.
Was Sie wollen, ist at 03:13Jun15 -f t.sh
.