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