GNU/Linux >> Linux の 問題 >  >> Linux

ウォッチを使用してBashで関数を繰り返し実行しますか?

watch で動作しなかったエイリアスと関数が複数あります watch をラップする関数を作成するまで このようなコマンドは、@l'L'l の受け入れられた回答から着想を得ています:

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

}

ここで私が目にする唯一の不便は、必要に応じてそれ以上のウォッチ引数を渡すことができないことです。確かに私は -n 0.2 を追加しました フラグを使用して 0.2 秒ごとに更新します。他に追加したいフラグがある場合は、事前にここに追加する必要があります。

個人的には fishshell しか使っていません コマンドを修正するために答えを編集することを躊躇しないでください!

時計をよく使う怠け者へのボーナスとしても:alias w=watch


watch の可能性があります connection_test_loop 関数を認識していません。 export を追加してみてください おそらく問題を解決するための test_connection の下:

test_connection
export -f connection_test_loop
...

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

watch を呼び出す場合 、次の構文が必要になる場合があります:

watch -x bash -c connection_test_loop

Linux
  1. 自動化のためのBashの使用

  2. Linuxでsudoを使用して権限を委任する

  3. シェル変数の関数?

  1. Bash の配列が見つかりません

  2. ランダムを使用してbashでランダムな文字列を生成する

  3. ログイン後に bash スクリプトを実行する

  1. BashスクリプトでのLinuxスリープコマンドの使用

  2. Bash初心者シリーズ#9:Bashでの関数の使用

  3. Bashでのケースステートメントの使用