C高级【day3】

思维导图:
在这里插入图片描述

判断家目录下,普通文件的个数和目录文件的个数:

#!/bin/bash

var1=(`ls -l ~/ | cut -d r -f 1 | grep -i -`)
var2=(`ls -l ~/ | cut -d r -f 1 | grep -i d`)
#echo ${var1[*]}
#echo ${var2[*]}

echo 普通文件个数:${#var1[*]}
echo 目录文件个数:${#var2[*]}

在这里插入图片描述

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

#!/bin/bash

read -p "请输入一个文件名" var

len=`expr length $var `
#echo $len
let pos=`expr index $var .`+1
#echo $pos
let l=$len-$pos+1 
#echo $l
vv=`expr substr $var $pos $l`
#echo $vv

#判断是否是脚本文件
if [ "$vv" == "sh" ]
then
	#判断是否有执行权限
	if [ -x "$var" ]
	then
		#执行文件
		bash $var
	else
		#添加执行权限
		chmod u+x $var
	fi
else
	echo 不是脚本文件
fi

在这里插入图片描述

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

#!/bin/bash

read -p "请输入一个文件名" name1
read -p "请输入一个文件名" name2

if [ $name1 -nt $name2 ]
then
	echo $name1更新
else
	echo $name2更新
fi

在这里插入图片描述

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

#!/bin/bash

read -p "请输入一个用户名" usr

id -u "$usr" >/dev/null 2>&1

#判断usr是否存在
if [ $? -eq 0 ]
then
	echo $usr用户已存在
else
	#添加usr
	sudo adduser $usr
	if [ $? -eq 0 ]
	then
		echo $usr用户添加成功
	else
		echo $usr用户添加失败
	fi
fi

在这里插入图片描述

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

#!/bin/bash

read -p "请输入一个学生的成绩" score1

if [ $score1 -gt 90 ]
then
	echo A
elif [ $score1 -gt 80 ]
then
	echo B
elif [ $score1 -gt 70 ]
then
	echo C
elif [ $score1 -gt 60 ]
then
	echo D
else [ $score1 -lt 60 ]
	echo 放开玩吧
fi

在这里插入图片描述

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

#!/bin/bash

user_name=$USER
user_id=$UID
now_pwd=$PWD

echo 当前用户名为$user_name
echo 当前用户id为$user_id
echo 当前工作路径为$now_pwd

在这里插入图片描述

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

#!/bin/bash

var=(`ls /etc`)
#echo ${var[*]}

cout=0
i=0
len=${#var[*]}
#echo ${#var[*]}
#循环读取var数组元素
while [ $i -lt $len ]
do
	#判断p开头的文件
	if [ `expr index ${var[$i]} pP` -eq 1 ]
	then
		((cout++))
	fi
	((i++))
done

echo'p''P'开头的文件有$cout

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值