Skip to content

Instantly share code, notes, and snippets.

@peccu
Created August 30, 2011 06:39
Show Gist options
  • Save peccu/1180334 to your computer and use it in GitHub Desktop.
Save peccu/1180334 to your computer and use it in GitHub Desktop.
add mail address to fml script
#!/bin/sh
# fmlになった状態でこのスクリプトを実行すること
usage(){
echo Usage: $0 ml-name [address]
echo 'このスクリプトはsu fmlなどでfmlになった状態で実行してください.'
echo
echo 'ml-name: メーリングリスト名'
echo 'address: メールアドレス一覧(一行一アドレス)を書いたファイルを指定する.'
echo ' 省略すると標準入力でアドレス一覧を受け取る'
exit 1
}
# 標準入力があるかどうかのチェック
# http://dsas.blog.klab.org/archives/51060184.html
fromstdin() {
if [ -t 0 ]; then
echo "メールアドレス一覧(一行一アドレス)を入力してください"
fi
cat - | awk '{printf("makefml add '$1' %s\n",$0)}'>$SCRIPT
#cat - | awk '{printf("echo '$1' %s\n",$0)}'>$SCRIPT
chmod +x $SCRIPT
}
# 引数が無かったらusage出力
if [ $# -lt 1 ]
then
usage
fi
# メーリングリスト名
ml=$1
# アドレスを追加するスクリプト
SCRIPT=/tmp/tmp
# アドレス一覧をファイルで指定したかどうかチェックして
# ファイルか標準入力からスクリプト生成
if [ $# -lt 2 ]
then
fromstdin $ml
else
cat $2| fromstdin $ml
fi
# fmlのホームディレクトリに移動
cd /var/spool/ml/
# アドレスを追加するスクリプト実行
$SCRIPT
# スクリプト削除
rm $SCRIPT
# fmlのアップデート
makefml update-config $ml
# 変更後の確認
cat $ml/members
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment