练习9——脚本
1、编写脚本程序备份用户指定的文件,将文件备份到目录名 _backup中(若目录不存在则自动建立),备份文件的文件名格式为文件名_bak_年月日_时分秒。
1 #! /bin/bash
2 filename=$1
3 dir=$2_backup
4 if [ ! -d $dir ]
5 then
6 mkdir ./${dir}
7 fi
8 datetime=`date +%Y%m%d_%H%M%S`
9 cp ${filename} ${dir}/${filename}_bak_${datetime}
10 echo "finished!"
个人错误总结:
1、变量有多个字符取值的话一定要用{},${name}
2、if----if if结尾对if,又些错了
是
if fi
if fi
if fi
2、编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容。
1 #! /bin/bash
2 #ex5.sh
3 name=$1
4 if [ -d ${name} ]
5 then
6 ls $name
7 elif [ -x ${name} ]
8 then
9 ./$name
10 elif [ -r ${name} ]
11 then
12 cat $name
13 fi
14 echo "finished!"
3、.写一个脚本文件,该脚本运行时带用户名作为参数,在/etc/passwd文件中查找用户,如有,则输出“ in the /etc/passwd”;否则输出” no such user on our system”。
1 #! /bin/bash
2 #ex6.sh
3 #
4 username=$1
5 for username in $*
6 do
7 if cut /etc/passwd -d: -f1|grep -q "^$username"
8 then
9 echo "${username} in the /etc/passwd"
10 else
11 echo "no such user on your system"
12 fi
13 done
14
4、 设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
1 #! /bin/bash
2 #ex7.sh
3 #
4 for ((i=1;i<=50;i++))
5 do
6 mkdir /userdata/user$i
7 chmod 754 /userdata/user$i
8 done
9 echo "finished!"
/
如果没有文件夹,需要自己创建,脚本无法自己创建不存在的文件夹,对吗?