1.整理思维导图
2.判断家目录下,普通文件的个数和目录文件的个数
1 #!/bin/bash
2 arr=(`ls -l ~ | cut -d r -f 1 | grep -w d `)
3 arr1=(`ls -l ~ | cut -d r -f 1 | grep -w -`)
4 echo "目录文件个数为 ${#arr[*]}"
5 echo "普通文件个数为 ${#arr1[*]}"
6
7
3.输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。
1 #!/bin/bash
2 read -p "请输入文件名" name
3 pos=`expr index $name '.'`
4 if [ `expr substr $name $((pos+1)) 3` = 'sh' ]
5 then
6 if [ -x $name ]
7 then
8 ./$name
9 else
10 chmod u+x $name
11 fi
12 fi
13
4.终端输入两文件名,判断哪一个文件更新
1 #!/bin/bash
2 read name1 name2
3 if [ $name1 -nt $name2 ]
4 then
5 echo "$name1更新"
6 else
7 echo "$name2更新"
8 fi
9
5.终端输入用户,判断用户是否存在,如果不存在,添加用户
1 #!/bin/bash
2 read -p "请输入用户名" name
3 if [ -z `grep -w $name /etc/passwd`]
4 then
5 sudo adduser $name
6 fi
6.输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)
1 #!/bin/bash
2 read -p "请输入学生成绩" grade
3 if [ $grade -gt 90 -a $grade -le 100 ]
4 then
5 echo "等级A"
6 elif [ $grade -gt 80 -a $grade -le 90 ]
7 then
8 echo "等级B"
9 elif [ $grade -gt 70 -a $grade -le 80 ]
10 then
11 echo "等级C"
12 elif [ $grade -gt 60 -a $grade -le 70 ]
13 then
14 echo "等级D"
15 fi
7.写一个shell脚本,获取当前用户名,用户id和工作路径
1 #!/bin/bash
2 user=`whoami`
3 echo "用户名:`whoami` 用户id:`id -u` 工作路径:`grep -w $user /etc/passwd |
4 cut -d : -f 6`"
8.统计/etc目录下以P或p开头的文件个数
1 #!/bin/bash
2 a=(`ls /etc | grep -i ^p`)
3 echo "以P或p开头的文件个数为 :${#a[*]}"
4 #user=`whoami`
5 #echo "用户名:`whoami` 用户id:`id -u` 工作路径:`grep -w $user /etc/passwd |
6 # cut -d : -f 6`"