GNU/Linux >> Znalost Linux >  >> Linux

Používáte hodinky k opakovanému spouštění funkce v Bash?

Mám několik aliasů a funkcí, které dříve nefungovaly s watch dokud jsem nevytvořil funkci, která obalí watch příkaz jako je tento, inspirovaný @l'L'l přijatá odpověď:

# 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]"

}

Jedinou nevýhodu, kterou zde vidím, je, že nemůžete předat více argumentů pro hodinky, pokud chcete, pro jistotu jsem přidal -n 0.2 příznak, aby se obnovoval každých 0,2 sekundy, pokud chcete přidat další příznaky, budete je muset přidat předem.

Osobně používám pouze fishshell takže doufám, že ostatní nejsou rozbité, neváhejte upravit odpověď, abyste opravili příkazy!

Také jako bonus pro líné, kteří často používají hodinky:alias w=watch


Je možné, že watch nezná vaši funkci connection_test_loop. Můžete zkusit přidat export pod test_connection možná problém vyřešit:

test_connection
export -f connection_test_loop
...

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

Při volání watch , možná budete potřebovat tuto syntaxi:

watch -x bash -c connection_test_loop

Linux
  1. Bash Beginner Series #9:Použití funkcí v Bash

  2. Použití případových prohlášení v Bash

  3. pomocí náhodného vygenerování náhodného řetězce v bash

  1. Použití Bash pro automatizaci

  2. Použití sudo k delegování oprávnění v Linuxu

  3. Spusťte příkaz bash na jenkins pipeline

  1. Funkce v proměnných Shell?

  2. Použití Linux Sleep Command ve skriptech Bash

  3. Pole v Bash nenalezeno