トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

オペレータ用メンテナンスメニュー

オペレータ用メンテナンスメニュー

本日のエントリーは現在の職場のオペレータ用に定型業務用のスクリプトを
作成しようと思い作成途中のソースが見つかったので貼り付けておきます。
処理の一つ一つに細かいチェックが入っていないので実用は無理だろう。。。
(メニューの5,6,7,8に関しては未実装だしw)

時間があればもう少しましなのを作ってみよう!

#!/bin/sh
function yesno () {
 read -n 1 -p $1 A
 echo
 if [ $A = 'Y' -o $A = 'y' ] ; then
 return 0
 fi
 if [ $A = 'N' -o $A = 'n' ] ; then
 return 1
 fi
 return 2
}
function anykey () {
 read -n 1 -p '何かキーを押してください'
}
if [ $UID != 0 ] ; then
 echo このメニューはrootの権限で実行して下さい
 exit 1
fi
ER=1
while [ $ER = 1 ] ; do
 clear
 echo オペレータメニュー
 echo 1.アカウント作成
 echo 2.アカウント削除
 echo 3.パスワード変更
 echo 4.コマンド
 echo 5.シャットダウン
 echo 6.再起動
 echo 7.システムログ取得
 echo 8.ミドルウェアログ取得
 echo 9.メニュー終了
 read -n 1 -p '番号を入力>' A
 echo
 case $A in
 1)
   echo 新しいアカウントを作成します
   read -p '作成するユーザー>' U
   if adduser $U ; then
     echo $U のパスワードを設定して下さい
     passwd $U
     echo $U のアカウントを作成しました
     anykey
   else
     echo $U のアカウント作成に失敗しました
     anykey
   fi
   ;;
 2)
   echo アカウントをを削除します
   read -p '削除するユーザー>' U
   if userdel $U ; then
     echo $U のアカウントを削除しました
     anykey
   else
     echo $U のアカウント削除に失敗しました
     anykey
   fi
   ;;
 3)
   echo パスワードを変更します
   read -p 'パスワードを変更するユーザー>' U
   passwd $U
   echo $U のパスワードを変更しました
   anykey
   ;;
 4)
   echo コマンドを入力して下さい
   read -p 'コマンド>' C
   eval $C
   echo コマンドの実行が終了しました
   anykey
   ;;
 9)
   echo メニューを終了します
   ER=0
   ;;
 *)
   echo 入力した番号が範囲外です
   anykey
 esac
done
exit 0