Burada birbirinden tamamen farklı şeyler soruyorsun:
sonra (umarım) istediğini anlayarak, burada kod. Öncelikle bir dakika sonra bip sesleri almak için ne yapmanız gerektiğini sorarsanız, komut bittikten sonra bip sesini almayı istersiniz. Bunlar tamamen farklı olan iki şey.
# bof [command] [args...] - Beep on Finish
bof() {
"[email protected]"; local r=$?
printf '\a'
return $r
}
Bu fonksiyon, bir komutu çalıştırır ve sonra bir kez bir kez bip komut bitti, komutun çıkış kodu fonksiyonunun çıkış kodudur emin yaparken. Komut bu saatten önce (burada, 60
saniye, bir dakika) tamamlandı sürece
# bot [command] [args...] - Beep on Timeout
bot() {
{ sleep 60; printf '\a'; } &
"[email protected]"; local r=$?
kill $!
return $r
}
Bu fonksiyon, belirli bir süre sonra bir kez bip.
# bem [command] [args...] - Beep every Minute
bem() {
{ while sleep 60; do printf '\a'; done; } &
"[email protected]"; local r=$?
kill $!
return $r
}
Bu sürece komut hala hayatta olduğu gibi her dakika bip önceki fonksiyonunun basit bir uyarlamasıdır.
# bofem [command] [args...] - Beep on Finish every Minute
bofem() {
"[email protected]"; local r=$?
until read -t 60 -n 1; do printf '\a'; done
return $r
}
Ve nihayet, komut tamamlandıktan her dakika ama sonra bip bir fonksiyonu. Durdurmak için bir tuşa basana kadar bip sesi çıkarır. Ardından, işlev komutunuzun çıkış koduyla döner.
Sorunuzla ilgili olarak tasarlayabileceğiniz tüm temelleri kapsayacağını düşünüyorum.
kullanımı (ve birleştirmek) onları şöyle:
bof rsync foo bar: # Beep when rsync finishes.
bot ssh foo 'ls bar/' # Beep if the 'ssh' process takes too long to run.
Umarız sağlanan komut dosyası, ihtiyacınız olan şeydir – Drakosha