微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

实验五 shell脚本编程

实验五 shell脚本编程

项目 内容
学号-姓名 17043104-沈曦
这个作业属于哪个课程 <课程链接 >
这个作业的要求在哪里 <作业链接 >
作业学习目标 (1)了解shell脚本的概念及使用 (2)了解shell脚本的语言的基本语(3)学习简单的shell脚本编程

实验内容

首先建立文件夹exp5,操作基于exp5操作,结果如下:

1、让用户输入一个字符串,如果用户输入的是hello,请输入hello用户姓名首字母缩写,否则输出hello

#!/bin/bash
read -p '请输入一个字符串:'str
if [ $str = "hello" ]
then 
	echo "hello ty"
else
	echo "请输入hello"
fi

2、编写一脚本,判断输入用户名是否存在,输出结果只能是存在该用户或者不存在该用户,不能有其他数据输出

#!/bin/bash
read -p '请输入用户名:' user_name
id $user_name &> /dev/null
if [ $? -eq 0 ]
then 
	echo "存在用户$user_name"
else
	echo "不存在用户$user_name"
fi

3、编写脚本计算1-100之间的所有奇数和

#!/bin/bash
sum=0
for i in {1.. 100.. 2}
do
	let sum=$sum+$i
done
echo "1-100之间的所有奇数和为:$sum"

4、编写脚本,判断键盘输入整数是否为质数

#!/bin/bash 
read -p '请输入一个正整数:' num
[ $num -eq 1 ] && echo "$num是既不是质数也不是合数" && exit
[ $sum -eq 2 ] && echo "$num是质数" && exit
for i in `seq 2 $[$num-1]`
do
	[ $[$num%i] -eq 0] && echo "&num不是质数" &&exit
done
echo "$num是质数" && exit

5、模拟一个多任务维护界面,但执行程序先显示菜单,然后进行选择后做相应的维护监控操作

#!/bin/bash
cat << EOF
	h 显示命令帮助
	f 显示磁盘分区
	d 查看磁盘挂载
	m 查看内存使用
	u 查看系统负载
	q 退出程序
EOF
while true
do 
	read -p "请选择需要操作的内容(help h)" action
	case $action in
		h)
			cat << -EOF
				h 显示命令帮助
                f 显示磁盘分区
                d 查看磁盘挂载
                m 查看内存使用
                u 查看系统负载
                q 退出程序
            EOF
            ;;
       f)
       		lsblk
       		;;
       d)
       		df -h
       		;;
       m)
       		free -m
       		;;
       u)
       		uptime
       		;;
       q)
       		exit
       		;;
    esac
done

6、编写脚本实现计算用户输入参数数字的和,分别用shift和for循环实现

#!/bin/bash
sum=0
while [ $# -ne 0 ]
do
	let sum=$sum+$1
	shift
done
echo sum=$sum

#!/bin/bash
sum=0
for i
do
	let sum=$sum+$i
done
echo sum=$sum

7、编写脚本,生成一个phonenumber.txt文件文件内容随机产生以139开头的手机号1000个,每个手机号占一行

8、在第七题产生的1000个电话号码中抽取5位幸运号码,并显示,要求只显示前3位数字和后4位数字,中间四位用*代替

#!/bin/bash
phone=./phonenumber.txt
for((i=1;i<=5;i++))
do
	line=`wc -l $phone | cut -d ' ' -f1`
	luck_line=$[ RANDOM%$line+1 ]
	luck_number=`head -$luck_line $phone | tail -1`
	echo "139****${ luck_nuber:7:4}"
	echo $luck_nuber >> luck.txt
	sed -i "/$luck_nuber/d" $phone
done

9、使用until语句批量创建10个用户,要求stu1-stu5用户的UID分别为2001-2005,stu6-stu10用户的家目录分别在/rhome/stu6-/rhome/stu10

10、编写脚本收集用户输入的基本信息(姓名,性别,年龄),如果用户不输入一直提示用户输入,最后根据用户输入的信息输出相应的内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐