Linux shell编程之文件内容写入和日志记录


最近在学习linux的shell编程,由于在初级阶段,所以把平时写的些练习代码记录下来,也和大家共享下,希望和大家day day up,哈哈,这句中国式英语相信读者能明白吧,今天这个代码比前面的2次的稍微长点,功能还是比较简单的,老鸟高手们可以飘过。。。下面是源代码,菜菜们可以和我一起学习看下源代码:
 
#!/bin/bash
#****************************
#****************************
#this chapter is input QQ member's base information
#QQ_Number  nickname  local
#***************************
echo "please input QQ number:"
read QQ_Number
while [ -z $QQ_Number ]
do
 echo "you input null,please input you QQ_Number!"
 read QQ_Number
done
#echo "you input QQ_Number is:" $QQ_Number
echo "please input nickname:"
read nickname
while [ -z $nickname ]
do
 echo "you input null,please input you nickname!"
 read nickname
done
#echo "you input nickname is :"$nickname
echo "please input you local:"
while [ -z $local ]
do
 echo "you input null,please input you local!"
 read local
done
#echo "you input local is:" $local
echo "************************************"
echo "************************************"

echo "you input QQ_Number is :"$QQ_Number
echo "you input nickname  is :"$nickname
echo "you input local    is :"$local
if [ ! -e member.info ]
then
 touch member.info
 echo "----------create member information file success----------" > member.info
 echo $(date +%Y"."%m"."%d" "%k":"%M":"%S) >> member.info
 echo "this file is record member's information" >> member.info
fi
 echo $QQ_Number":"$nickname":"$local >>member.info

#**************************************************
#this chapter is about build log file to record operation information
log_file=$(date +%Y%m%d)/$(date +%Y%m%d%H%M%S)
if [ ! -d log ]
then
 mkdir log
fi
if [  -d log ]
then
# mkdir log
 cd log
 if [ ! -d $(date +%Y%m%d) ]
 then
  mkdir $(date +%Y%m%d)
 fi
 touch $log_file
 echo $(date +%Y"."%m"."%d" "%k":"%M":"%S) >> $log_file
 echo "----------create log file success--------------" >> $log_file
 echo "you input QQ_Number,nickname,local into member information is :"$QQ_Number":"$nickname":"$local >> $log_file
fi

代码不是很长,介绍下功能,第一部分是要求你输入你的QQ号码,昵称和所在地,呵呵,然后检查下是否有member.info这个文件,如果没有,着建立这个文件,然后插入几句话
if [ ! -e member.info ]                                          #如果没有member.info这个文件
then
 touch member.info                                            #如果没有则新建文件
 echo "----------create member information file success----------" > member.info
 echo $(date +%Y"."%m"."%d" "%k":"%M":"%S) >> member.info
 echo "this file is record member's information" >> member.info
fi                                #以上三句是初始化新建文件时候追加的话,记下创建的时间。
 echo $QQ_Number":"$nickname":"$local >>member.info
# 这句是把上面输入的QQ号码,昵称和所在地写入文件member.info.格式如下
123:effect:shanghai
234:world77:pudong
呵呵,具体你运行下代码就知道了,呵呵,下面介绍下代码的第二部分。
呵呵,看看代码的第二部分,个人觉得有点变态了,哈哈。
第二部分代码先检查下是否有LOG这个文件夹,如果没有,则创建下LOG文件夹,接着进入这个目录,新建个目录,是以年月日为名。命令如下:
if [ ! -d log ]                                        #判断是否有log这个目录,没有则创建
then
 mkdir log
fi

if [  -d log ]                                                              #如果有这个目录,进入LOG
then
# mkdir log
 cd log                                                                  #判断是否有今天的目录(以年月日为名)
 if [ ! -d $(date +%Y%m%d) ]
 then
  mkdir $(date +%Y%m%d)                                  #创建目录,以年月日为名
 fi

 
哈哈,上面的代码还是比较容易的,如果不明白的话,运行下代码就可以明白了,你可以更改下日期,然后你在运行下代码,看下LOG里面是否有变化,你就明白代码的含义了,呵呵,本人的表达能力实在有限,读者千万包涵,哈哈。。。
如果到此为止,也不算变态,变态的还在后面,由于我是想用来做日志的功能,所以在log目录下,以日期新建了目录后,在这个目录下,我会以年月日时分秒的格式为文件名,记录下每次运行这个脚本的操作,即你可以到在这个日志文件里面看到你输入的信息,哈哈。有点变态吧,每次输入都能看到,想看具体效果,运行下代码就知道了。

  • 1
  • 2
  • 下一页

相关内容