GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan jam tangan untuk menjalankan fungsi berulang kali di Bash?

Saya memiliki banyak alias dan fungsi yang dulunya tidak berfungsi dengan watch sampai saya membuat fungsi yang membungkus watch perintah seperti ini, terinspirasi dari @ l'L'l menerima jawaban:

# fishshell
function watch
    command watch -n 0.2 -x fish -c "$argv"
end

# bash
function watch() {
    watch -n 0.2 -x bash -c "[email protected]"
}

# zsh
watch() {
    watch -n 0.2 -x zsh -c "[email protected]"

}

Satu-satunya ketidaknyamanan yang saya lihat di sini adalah Anda tidak dapat memberikan lebih banyak argumen tontonan jika Anda mau, pasti saya menambahkan -n 0.2 tandai untuk membuatnya disegarkan setiap 0,2 detik, jika Anda memiliki tanda lain yang ingin ditambahkan, Anda harus menambahkannya di sini sebelumnya.

Secara pribadi saya hanya menggunakan fishshell jadi saya harap yang lain tidak rusak, jangan ragu untuk mengedit jawaban untuk memperbaiki perintah!

Juga sebagai bonus bagi para pemalas yang sering menggunakan jam tangan:alias w=watch


Mungkin watch tidak mengetahui fungsi connection_test_loop Anda. Anda dapat mencoba menambahkan export di bawah test_connection untuk memecahkan masalah:

test_connection
export -f connection_test_loop
...

↳ http://linuxcommand.org/lc3_man_pages/exporth.html

Saat memanggil watch , Anda mungkin memerlukan sintaks ini:

watch -x bash -c connection_test_loop

Linux
  1. Fungsi Dalam Variabel Shell?

  2. Menggunakan Perintah Tidur Linux di Skrip Bash

  3. Menggunakan Pernyataan Kasus di Bash

  1. Jalankan skrip bash sebagai daemon

  2. Jalankan skrip bash setelah login

  3. Jalankan perintah bash pada pipa jenkins

  1. Menggunakan Bash untuk otomatisasi

  2. Bash Seri Pemula #9:Menggunakan Fungsi di Bash

  3. Bagaimana cara menjalankan perintah berkali-kali, menggunakan bash Shell?