Ich denke, ich habe zunächst Ihre Frage falsch gelesen. Sie können den aktiven Prozess jederzeit unterbrechen, indem Sie Ctrl+Z
drücken und ihn mit dem integrierten fg fortsetzen.
Um das Skript Pause nach einer Anzahl von Iterationen zu machen durchgeführt worden sind, können Sie einen Zähler Variable verwenden und die modulo Operator %
:
i=1
for f in `cat files`; do
echo $f
if ((i % 10 == 0)); then # pause every 10 iterations
read
fi
let "i++"
done
Meine ursprüngliche Antwort war:
Sie können das read Built-in verwenden, um die Shell warten zu lassen, bis der Benutzer den RETURN
Schlüssel (oder EOF
Schlüssel, Ctrl+D
) drückt:
for i in `cat files`
do
echo $i
read
done
können Sie verwenden, um die -t
Möglichkeit read
, um es aus Zeit haben und weiterhin Ausführung:
for i in `cat files`
do
echo $i
read -t 1
done
Die oben wird die Ausführung nach 1 Sekunde wieder aufnehmen, wenn der Benutzer nicht die RETURN
Taste nicht drücken .
Dies lässt das Skript warten, bis AnyKey jedes-Schleife-Tick – newmusicblog
@newmusicblog startet, nein, wird es nicht. Dann hast du diese Anforderung einfach zu deiner Frage hinzugefügt :) –
Wenn ich dieses Skript verwende, gibt es nur eine Variable und wartet dann ||| Ich brauche es, um indinetnetly Schleife, bis ich Pause drücken – newmusicblog