Prev / Next / XINUJP - ChangeWebLog

bash で大文字を小文字に変換[linux]

2013-10-28

postfix で受信したメールを、scmail に渡す shell command を作成した。
その中で、To-addr により設定を一部変更しているのだが、その文字列比較をベタで「小文字」のアドレス比較としたため、大文字の To-addr が error となってしまった。
こんな感じ。

if [ ${TO} = "foo@example.net" ] ; then
  export X_HOME=/var/xxx/foo
else
  echo "ERROR: ${TO}" >> /tmp/mail.err

これだと、大文字の "FOO@EXAMPLE.NET" 宛てのメールがエラーとなってしまう。

で、ぐぐったところ、http://qiita.com/kawaz/items/211266021515b3f033a3 ここのような大小文字変換があることが判明

早速次のように変更し、現在順調に動作している。

if [ ${TO,,} = "foo@example.net" ] ; then
  export X_HOME=/var/xxx/foo
else
  echo "ERROR: ${TO}" >> /tmp/mail.err


しかし、アドレスが大文字のメールが来るとは、思ってもいなかった。

permlink