>>188
l=${l}:`egrep ^$u $f2`

↑の行で、passwdの行の右側にshadowの該当行をくっつけてるけど、
こんなことして何になるの?
とりあえずくっつけといてからawkで再度:毎にフィールドを切り出すの?
だったら2度手間じゃん。

あと、${l%%:*}については、これを使わずにreadで読む段階で
IFS=: にすれば、もっと簡単に/bin/shの範囲だけで処理できる。