#!/bin/sh
# Yes or No function
# return value Yes:0 No:1 Other:2
YN ()
{
read -p $1 YESNO
case ${YESNO} in
"y" | "Y")
return 0
;;
"n" | "N")
return 1
;;
*)
echo "Input number out of range. Please press enter key."
read wait
return 2
;;
esac
}
# Blank Function
# echo Blank-Line
BLANK()
{
echo ""
echo "/-- Check results --/"
echo ""
}
# ANYKEY Function
# Pause operation
ANYKEY ()
{
echo ""
echo "Please press enter key."
read wait
}
# Get executetime function
# Output format:YYYYMMDD_hhmmss
GETTIME ()
{
SYSTEMTIME=`date '+%Y%m%d_%H%M%S'`
echo ${SYSTEMTIME}
}
stty erase ^H
RTNCD=1
# It Executes until return value "0"
while [ ${RTNCD} = 1 ]; do
# Output menu list
clear
echo " Menu"
echo ""
echo " 1. Change Logfile Permission"
echo " 2. Copy messages file"
echo " 99. Exit Menu"
echo ""
echo ""
# Read from standard input
read -p "Input Number -->" INPUT
case ${INPUT} in
1)
echo "Change Logfile Permission"
if YN "Do?(Y/N)>"; then
chmod 644 /var/log/messages
BLANK
ls -l /var/log/messages
ANYKEY
RTNCD=1
else
echo "Boo"
RTNCD=1
fi
;;
2)
echo "Copy messages file"
if YN "Do?(Y/N)>"; then
cp -p /var/log/messages /var/log/messages.`GETTIME`
BLANK
ls -l /var/log/messages*
ANYKEY
RTNCD=1
else
echo "Boo"
RTNCD=1
fi
;;
99)
RTNCD=0
echo "bye"
;;
*)
echo "Input number out of range."
ANYKEY
;;
esac
done
case文に色々追記していけばそこそこ使えるかも。
0 件のコメント:
コメントを投稿