ich ein Skript wie folgt:Wie Strg + C verwenden ganze Skript zu stoppen nicht nur aktuelle Befehl
for ((i=0; i < $srccount; i++)); do
echo -e "\"${src[$i]}\" will be synchronized to \"${dest[$i]}\""
echo -e $'Press any key to continue or Ctrl+C to exit...\n'
read -rs -n1
rsync ${opt1} ${opt2} ${opt3} ${src[$i]} ${dest[$i]}
done
Wenn ich Ctrl + C als Antwort drücken Befehl zu lesen, die ganze Skript wird gestoppt, aber wenn Ctrl + C gedrückt wird, während rsync
Befehl ausgeführt wird, nur aktuelle rsync
Befehl wird gestoppt und das Skript wird die FOR-Schleife fortgesetzt.
Gibt es eine Möglichkeit, das Skript zu sagen, ob der Benutzer Strg gedrückt + C während rsync
läuft, stoppt rsync
und Ausstieg aus dem Skript selbst?
In der vorherigen Zeile des Skripts sind 'opt1',' opt2', 'opt3',' srccount', 'src' und' dest' definiert. –
'Falle 'Ausgang" INT ". Siehe http://unix.stackexchange.com/a/48432/50240 – bishop
@Bischof Danke, das hat funktioniert. Bitte schreibe es als Antwort, damit ich es annehmen kann. –