シェルスクリプト
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