次のコードがあるとします。
for u in `cat /tmp/expiring` ; do
/var/tmp/pwx $u egrep [12345] >> /tmp/reallyexpiring
done
/tmp/expiring からの for ループへの入力は次のようになります。
bjones password good 25 to expire
rsmith password good 3 to expire
/tmp/expiring には複数の行があり、すべてにアカウントの有効期限が切れるまでの日数に関するレポートと、1 行に 1 人のユーザーが含まれます。
スクリプトの後半で mailx コマンドが呼び出されて電子メールが送信されますが、パスワードの有効期限が 1 ~ 7 日で期限切れになるユーザーにのみ送信されます。
問題は、grep ステートメントが 25 日と 7 日のしきい値を超える他の値に一致することです。
1 2 3 4 5 6 7 の離散値だけに一致するようにスクリプトを変更する方法についてのアイデアはありますか? たとえば、25 は 25 が 2 であるため一致します。