linuxshell编程之⽂件内容写⼊和⽇志记录
最近在学习linux的shell编程,由于在初级阶段,所以把平时写的些练习代码记录下来,也和⼤家共享下,希望和⼤家day day up,哈哈,这句中国式英语相信读者能明⽩吧,今天这个代码⽐前⾯的2次的稍微长点,功能还是⽐较简单的,⽼鸟⾼⼿们可以飘过。。。下⾯是源代码,菜菜们可以和我⼀起学习看下源代码:
#!/bin/bash
#filename:qqgroup.sh
#QQ;384343423
#world77.blog.51cto
#****************************
#****************************
#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
呵呵,具体你运⾏下代码就知道了,呵呵,下⾯介绍下代码的第⼆部分。
呵呵,看看代码的第⼆部分,个⼈觉得有点变态了,哈哈。
linux怎么读取文件内容第⼆部分代码先检查下是否有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⽬录下,以⽇期新建了⽬录后,在这个⽬录下,我会以年⽉⽇时分秒的格式为⽂件名,记录下每次运⾏这个脚本的操作,即你可以到在这个⽇志⽂件⾥⾯看到你输⼊的信息,哈哈。有点变态吧,每次输⼊都能看到,想看具体效果,运⾏下代码就知道了,哈哈。。。
这个脚本还有很多地⽅需要改进,⽐如对输⼊的判断和长度的限制等,等我有时间了,功⼒提⾼了,会后续改进,并继续和⼤家分享。。。注:由于本⼈的基础不是很好,在以root⾝份运⾏代码的时候,没有任何问题,在以普通⽤户运⾏这个脚本的时候,出现了权限问题,所以不能运⾏,所以⼤家需要注意下,运⾏时要以ROOT的⾝份,呵呵。。。
下⾯贴下运⾏的权限问题时的报错如下:
[root@localhost shell]# su joe
[joe@localhost shell]$ sh qqgroup.sh
please input QQ number:
789
please input nickname:
kdsjf
please input you local:
you input null,please input you local!
skdfj
************************************
************************************
you input QQ_Number is :789
you input nickname is :kdsjf
you input local is :skdfj
touch: cannot touch `member.info': Permission denied
qqgroup.sh: line 52: member.info: No such file or directory
qqgroup.sh: line 53: member.info: No such file or directory
qqgroup.sh: line 54: member.info: No such file or directory
qqgroup.sh: line 56: member.info: No such file or directory
mkdir: cannot create directory `log': Permission denied
如果哪位知道如何解决的话,告诉下,不胜感谢,呵呵。。。
程序如果有问题,欢迎指出,我的联系⽅式脚本⾥都有的,希望和⼤家DAY
本⽂转⾃你是路⼈甲还是霍元甲博客51CTO博客,原⽂链接blog.51cto/world77/231115如需转载请⾃⾏联系原作者world77
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论