bashで単発で特定のコマンド群を実行したいときは、";"で各コマンドをつなぐことが多いですが、数が多い場合はbash関数の機能を使った方が見やすい。
処理を関数の形でまとめる
function func01() {
echo "=========================================="
echo 'show collections;' | mongo my_mongodb --quiet
echo "------------------------------------------"
mongo my_mongodb --quiet --eval 'db.collection1.count();'
}
export -f func01
func01
関数定義を確認する
作成したbash関数を確認したい場合はdeclare
コマンドを使用します
declare -f func01
処理を一定周期で実行する
作成したbash関数を一定周期で実行したい場合は、while文を書くよりもlinuxのwatchコマンドを使用するのが手軽です。
以下のコマンドでは、作成したfunc01のbash関数を10秒周期で実行しています。
watch --interval 10 bash -c func01
こちらもおススメ