シェルスクリプト

Linuxの日本語環境について
echo $LANG

LANG=ja_JP.utf8
一時的→打つ
ユーザ→/home/ホームディレクトリ/.i18nに入れとく
みんな→/etc/sysconfig/.i18nに入れとく

sshクライアントのフォントによって文字化けすることも…
(Linux)コマンドを連結して行う「;」「&」「&&」「||」の違い : 3流プログラマのメモ書き


■メール

[root@dti-vps-srv740 ~]# cat pschk_mail.sh
#!/bin/bash

#監視するプロセス名を定義する
PROCESS_NAME="smbd"

#メールを送信するメールアドレスを指定する
MAILTO=root@localhost

#メール本文に使用するファイルを指定する
MAILFILE=/var/tmp/pschk_mail.txt

#監視するプロセスが何個起動しているかカウントする
count=`ps -ef | grep $PROCESS_NAME | grep -v grep | wc -l`

#監視するプロセスが0個の場合に、処理を分岐する
if [ $count = 0 ]; then

#0個場合は、サービスが停止している事をメールする
echo "$PROCESS_NAME"

#メールの本文を生成
echo "ホストネーム" > $MAILFILE
hostname >> $MAILFILE
echo "現在時刻" >> $MAILFILE
date "+%Y/%m/%d %H:%M:%S" >> $MAILFILE
echo "$PROCESS_NAME ダウン" >> $MAILFILE
echo "" >> $MAILFILE
echo "以下プロセス数です" >> $MAILFILE
echo "$count" >> $MAILFILE

#メールの件名を生成
MAIL_SUB="$PROCESS_NAME"

#メールを送信する
mail -s $MAIL_SUB $MAILTO < $MAILFILE

else
echo "$PROCESS_NAME OK"
fi




■ユーザ追加スクリプト

#!/bin/bash

echo
echo "useradd "$1" -m" "を実行します"
echo "問題がなければEnterを押してください"
read x
useradd $1 -m

echo
echo "nice grep "$1" /etc/passwd" "を実行します"
echo "問題がなければEnterを押してください"
read x
nice grep "$1" /etc/passwd

echo
echo "ls -l /home | grep" $1 "を実行します"
echo "問題がなければEnterを押してください"
read x
ls -l /home |grep $1


■if文

#!/bin/bash

if [ -z $1 ] || [ -z $2 ] ; then
echo "引数が足りません、コマンドを確認してください"
read wait

elif [ $1 = share ] ; then
echo "共有ユーザ$1の登録を開始します"
read wait
else
echo "所有者$1の登録を開始します"
read wait
fi