1.整理思维导图
2.判断家目录下,普通文件的个数和目录文件的个数
1 #!/bin/bash2 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/bash2 read -p "请输入文件名" name3 pos=`expr index $name '.'` 4 if [ `expr substr $name $((pos+1)) 3` = 'sh' ]5 then6 if [ -x $name ]7 then8 ./$name9 else10 chmod u+x $name11 fi12 fi13
4.终端输入两文件名,判断哪一个文件更新
1 #!/bin/bash2 read name1 name23 if [ $name1 -nt $name2 ]4 then5 echo "$name1更新"6 else7 echo "$name2更新"8 fi 9
5.终端输入用户,判断用户是否存在,如果不存在,添加用户
1 #!/bin/bash2 read -p "请输入用户名" name3 if [ -z `grep -w $name /etc/passwd`]4 then5 sudo adduser $name6 fi
6.输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)
1 #!/bin/bash2 read -p "请输入学生成绩" grade3 if [ $grade -gt 90 -a $grade -le 100 ]4 then5 echo "等级A"6 elif [ $grade -gt 80 -a $grade -le 90 ] 7 then8 echo "等级B"9 elif [ $grade -gt 70 -a $grade -le 80 ]10 then11 echo "等级C"12 elif [ $grade -gt 60 -a $grade -le 70 ]13 then14 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/bash2 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`"