01 / 08
長くなったら、名前で分ける
前の回で書いたスクリプトは、だんだん長くなってきたね。
set -eutrap … EXIT[ $# -eq 0 ] && { echo …; exit 2; }grep -c … > …KAZU=$(…)if [ … ]; then … fi7行でも「どこが何をしているか」を読むのに時間がかかるでしょう。50行になったらもっとだね。
そこで手順のかたまりに名前を付けるんだ。
aisatsu() { echo "konnichiwa $1"}aisatsu taroaisatsu hanakokonnichiwa tarokonnichiwa hanakoこれが関数だよ。
2つの値打ちがあるんだ。
1. 同じ手順を、何度も呼べる2. 名前が付くので、読んで分かる2番が意外と大きいよ。
tsukaikata_wo_dasu 見ただけで分かるgrep -c … | awk … 読まないと分からない名前が説明になるでしょう。コメントを書かなくても伝わるんだ。