Created
August 30, 2011 06:39
-
-
Save peccu/1180334 to your computer and use it in GitHub Desktop.
add mail address to fml script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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