Ho uno script come segue:Come usare Ctrl + C per fermare intero script non solo attuale comando
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
Se premo Ctrl + C in risposta al comando di lettura, l'intera lo script si interrompe, ma se si preme Ctrl + C mentre il comando rsync
è in esecuzione, il comando corrente rsync
si interromperà e lo script continuerà il ciclo for.
C'è un modo per dire al script se l'utente ha premuto Ctrl + C mentre rsync
è in esecuzione, arrestare rsync
e l'uscita dal script stesso?
'opt1',' opt2', 'opt3',' srccount', 'src' e' dest'are definiti nella riga precedente dello script. –
'trap" esci "INT". Vedi http://unix.stackexchange.com/a/48432/50240 – bishop
@ vescovo Grazie, ha funzionato. Per favore, scrivilo come risposta, così posso accettarlo. –