一、思维导图
二、判断家目录下普通文件和目录文件的个数
#!/bin/bash
cd /home/ubuntu
file=$(ls -l | grep "^-" | wc -l)
dir=$(ls -l | grep ^d | wc -l)
三、输入一个文件名,判断是否为shell脚本文件,如果是脚本文件判断是否有可执行权限,如果有可执行权限则运行文件,如果没有可执行权限则给文件添加可执行权限
#!/bin/bash
echo "请输入文件名:"
read var
pos=$(expr index $var .)
#echo $pos
str=$(expr substr $var $((pos+1)) 3)
if [ "$str" = "sh" ]
thenecho "是shell脚本文件"
elseecho "不是shell脚本文件"fiif [ -x "$var" ]
thenecho "该文件可执行"bash $var
elseecho "该文件不可执行"sudo chmod a+x $varecho "已添加可执行权限"bash $var
fi
四、终端输入两文件名,判断哪个文件更新
#!/bin/bash
read -p "输入文件1:" var1
read -p "输入文件2:" var2
if [ "$var1" -nt "$var2" ]
thenecho "文件1更新"
elseecho "文件2更新"
fi
五、终端输入用户,判断用户是否存在,如果不存在则添加用户
#!/bin/bash
read -p "请输入用户名: " var
if $( grep -q "^$var" /etc/passwd)
thenecho "用户存在"
elsesudo adduser "$var"echo "用户创建成功"
fi
六、输入学生成绩,判等级,A[100,90),B[90,80),C[80,70),D[70,60)
#!/bin/bash
read -p "请输入成绩:" score
if [[ $score -le 100 && $score -gt 90 ]]
thenecho "成绩为A类"
elif [[ $score -le 90 && $score -gt 80 ]]
then echo "成绩为B类"
elif [[ $score -le 80 && $score -gt 70 ]]
then echo "成就为C类"
elif [[ $score -le 70 && $score -gt 60 ]]
thenecho "成绩为D类"
elif [[ $score -le 60 && $score -gt 0 ]]
then echo "成绩为E类"
elseecho "成绩输入错误"fi
七、写一个shell脚本,获取当前用户名,用户ID和工作路径
#!/bin/bash
echo "当前用户名是:" `whoami`
use=`whoami`
echo "当前用户id是:" `id -u $use`
echo "当前用户工作路径是:" `pwd`
八、统计/etc目录下以P或p开头的文件的个数
#!/bin/bash
num=$(ls -l /etc | grep -i "^p" | wc -l)
echo "以P或p开头的文件数量是:$num"