【C高级】Day 3 shell

【C高级】Day 3 shell_第1张图片

 1.  整理思维导图

【C高级】Day 3 shell_第2张图片

        3. 输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。

#!/bin/bash
read -p "请输入一个文件名:" filename

pos=`expr index $filename "."`
len=`expr length $filename`
suffix=`expr substr $filename $[pos+1] $len`

if [ $suffix = "sh" ]
then
	if [ -x "$filename" ]
	then
		bash $filename
	else
		chmod a+x $filename
	fi
fi

         4. 终端输入两文件名,判断哪一个文件更新

#!/bin/bash
read file1 file2

if [ -e $file1 -a -e $file2 ]
then
	if [ $file1 -nt $file2 ]
	then
		echo "$file1 文件更新"
	else
		echo "$file2 文件更新"
	fi
fi

【C高级】Day 3 shell_第3张图片

         5. 终端输入用户,判断用户是否存在,如果不存在,添加用户

#!/bin/bash
read user
if [ -z $(grep -nw $user /etc/passwd) ] 
then 
	echo "该用户不存在"
	sudo adduser $user
else
	echo "该用户已存在"
fi

【C高级】Day 3 shell_第4张图片

         6. 输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)

#!/bin/bash
read -p "请输入学生的成绩:" score

if [ $score -gt 90 ] && [ $score -le 100 ]
then
	echo "A"
elif [ $score -gt 80 ]
then
	echo "B"
elif [ $score -gt 70 ]
then
	echo "C"
elif [ $score -gt 60 ]
then
	echo "D"
fi

【C高级】Day 3 shell_第5张图片

         7. 写一个shell脚本,获取当前用户名,用户id和工作路径

#!/bin/bash
echo "当前用户名:$(whoami)"
echo "当前用户id:$(id -u)"
echo "当前工作路径:$(pwd)"

         8. 统计/etc目录下以P或p开头的文件个数

#!/bin/bash
num=(`sudo find /etc -iname "p*"`)
#num=(`locate -i /etc/p`)
echo ${#num[*]}

   

你可能感兴趣的:(服务器,linux,运维)