歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

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目錄下,以日期新建了目錄後,在這個目錄下,我會以年月日時分秒的格式為文件名,記錄下每次運行這個腳本的操作,即你可以到在這個日志文件裡面看到你輸入的信息,哈哈。有點變態吧,每次輸入都能看到,想看具體效果,運行下代碼就知道了。

Copyright © Linux教程網 All Rights Reserved