8.4 作业

本文介绍了8个实用的Bash脚本示例,包括文件数量统计、判断文件类型、权限检查、文件更新检测、用户管理及成绩等级判定等,展示了基础的Linuxshell编程技巧。
摘要由CSDN通过智能技术生成

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[*]}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值