首页 > 试题广场 >

下面给出了一个 SHELL程序,试对其行后有#(n)形式的语

[问答题]

下面给出了一个 SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/sh

DIRNAME=`ls /root | grep bak`                        #(1)

if [ -z "$DIRNAME" ] ; then                            #(2)

mkdir /root/bak ; cd /root/bak                        #(3)

fi

YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d`        #(4)

BACKETC=$YY$MM$DD_etc.tar.gz                            #(5)

tar zcvf $BACKETC /etc                                #(6)

echo "fileback finished!"

答: #(1)获取/root中名称包含bak的文件或目录

#(2)判断1结果为空

#(3)创建目录/root/bak并进入该目录

#(4)获取当前时间的年月日

#(5)按照年(2位)月(2位)日(2位)_etc方式构造压缩文件名

#(6)压缩etc目录并保存在/root/bak中

程序功能:若 /root/bak不存在则创建之,然后将/etc按日期打包保存于该目录中。


发表于 2017-05-17 14:50:10 回复(0)