1、思维导图
2、输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。
#!/bin/bash
read -p "输入文件名:" file_name
var=`expr match file_name "sh"`
if [[ $var -gt 0 ]]
thenif [ -x file_name ]thenbash file_nameelsechmod chmod 0777 file_namefi
elseecho "非脚本文件"
fi
3、终端输入两文件名,判断哪一个文件更新
#!/bin/bash
read -p "文件1:" file1
read -p "文件2:" file2
if [ $file1 -nt $file2 ]
thenecho "file1更新"
elif [ $file1 -ot $file2 ]
thenecho "file2更新"
elseecho "两个文件时间相同"
fi
4、终端输入用户,判断用户是否存在,如果不存在,添加用户
#!/bin/bash
read -p "输入用户名:" usr_name
str=`id -u $usr_name`
info="用户已存在"
if [[ $str = $info ]]
then #用户不存在echo $info
else`sudo adduser $usr_name`
fi
5、输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)
#!/bin/bash
read -p "输入学生成绩:" grade
var=$(expr $grade / 10)
if [[ var -ge 9 && var -le 10 ]]
thenecho "A"
elif [[ var -ge 8 && var -le 9 ]]
thenecho "B"
elif [[ var -ge 7 && var -le 8 ]]
thenecho "C"
elseecho "D"
fi
6、写一个shell脚本,获取当前用户名,用户id和工作路径
#!/bin/bash
usr_name=`whoami`
uid=`id -u $usr_name`
path=`pwd`
echo "usr_name:" $usr_name
echo "uid:" $uid
echo "path:" $path
7、统计/etc目录下以P或p开头的文件个数
#!/bin/bash
arr=(`ls /etc`)
var1=`sudo find /etc -name 'P*' | grep -c '^'`
var2=`sudo find /etc -name 'p*' | grep -c '^'`
echo "p开头:" $var1
echo "P开头:" $var2