Shell编程

news/2024/11/17 10:28:44/

目录

一、实验目的

二、实验软硬件要求

三、实验预习

四、实验内容(实验步骤、测试数据等)

  1、编写shell程序,实现用户自定义输入十个整数,计算从第3个到第7个整数的和

  2、编写shell程序,实现创建一个以学号命名的新用户组,在当前新建用户组中创建5个账户,分别为jsjx01~jsjx05

  3、编写shell程序,实现在上题的基础上,删除jsjx01~jsjx05

  4、编写shell程序,实现根据用户输入的成绩来判断输出等级结果,条件如下:


一、实验目的

1、了解shell的概念

2、了解shell变量的种类及其使用

3、理解和掌握条件测试的原理和方法

4、掌握用VI创建shell脚本的方法

5、掌握shell脚本的执行方法

二、实验软硬件要求

  1、CPU:P4 1.6GHz   内存:1G

  2、Windows7操作平台,Vmware虚拟机

三、实验预习

1、if、case等条件语句的使用

2、for、while、until等循环语句的使用方法

四、实验内容(实验步骤、测试数据等)

  1、编写shell程序,实现用户自定义输入十个整数,计算从第3个到第7个整数的和

#! /bin/bash

read var1

read var2

read var3

read var4

read var5

read var6

read var7

read var8

read var9

read var10

sum=`expr $var3 + $var4 + $var5 + $var6 + $var7`

echo "sum=" $sum

 

 

  2、编写shell程序,实现创建一个以学号命名的新用户组,在当前新建用户组中创建5个账户,分别为jsjx01~jsjx05

#编写shell程序,实现创建一个以学号命名的新用户组,在当前新建用户组中创建5个账户,分别为jsjx01~jsjx05

#编写shell程序,实现创建一个以学号命名的新用户组,在当前新建用户组中创建5个账户,分别为jsjx01~jsjx05

groupadd -g 321 20172062

q=`seq -w 1 5`

for i in $q

do

 useradd -g 321 jsjx0$i

done

 

 

groupdel 用户组名 (命令删除用户组)

seq 命令用于以指定增量从首数开始打印数字到尾数,即 产生从某个数到另外一个数之间的所有整数

groupadd [-g gid] [-o]] [-r] [-f] groupname

-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出

  3、编写shell程序,实现在上题的基础上,删除jsjx01~jsjx05

#编写shell程序,实现在上题的基础上,删除jsjx01~jsjx05

q=`seq -w 1 5`

for i in $q

do

userdel -r jsjx0$i

done

 

 

  4、编写shell程序,实现根据用户输入的成绩来判断输出等级结果,条件如下:

90-100即:A等,80-89即:B等,70-79即:C等,60-69即:D等,0-60即:E等

例如:输入88,输出B

#编写shell程序,实现根据用户输入的成绩来判断输出等级结果,条件如下:

#90-100即:A等,80-89即:B等,70-79即:C等,60-69即:D等,0-60即:E等

#例如:输入88,输出B

#! /bin/bash

read number

if  [ $number -lt 60 ]

then

echo "E"

elif [ $number -ge 60 -a $number -lt 70 ]

then

echo "D"

elif [ $number -ge 70 -a $number -lt 80 ]

then

echo "C"

elif [ $number -ge -80 -a $number -lt 90 ]

then

echo "B"

elif [ $number -ge -90 -a $number -le 100 ]

then

echo "A"

fi

 

 

gt、ge、lt、le之类的前面加-


http://www.ppmy.cn/news/4968.html

相关文章

【lssvm回归预测】基于灰狼算法优化最小支持向量机GWO-LSSVM数据预测模型含Matlab源码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

MR案例(2):学生排序(单字段排序、多字段排序)

文章目录一、任务目标1. 准备数据二、实行任务1. 创建Maven项目2. 添加相关依赖3. 创建日志属性文件4. 创建学生实体类5. 创建学生映射器类6. 创建学生归并器类7. 创建学生驱动类8. 启动学生驱动器类,查看结果一、任务目标 MR案例:学生排序(…

物联网开发笔记(64)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示

一、目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示。 二、环境 ESP32 ILI9341 3.2寸TFT-LCD触摸屏 Thonny IDE 几根杜邦线 接线方法:见前面文章。 三、滑杆代码 import lvgl as lv i…

【Mitigating Voltage Attacks in Multi-Tenant FPGAs 论文笔记】

减轻多租户FPGA中的电压攻击摘要引言内容背景和相关工作INTEL STRATIX 10 FPGA上的PDN攻击Stratix 10 PDN特性定位电压下降片上监控和攻击抑制结论和未来工作结论:未来工作作者:GEORGE PROVELENGIOS, University of Massachusetts Amherst, MA, USADANIE…

华为OD机试真题 Python 实现【预订酒店】【2022.11 Q4 新题】

目录 题目 思路 考点 Code 题目 放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的 数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店 (n>=k>0) ,并由低到高打印酒店的价格输入描述 第一行: n,k,x 第二行: A[o] A[1] A[2].…

Java项目:基于jsp+mysql+Spring+mybatis的SSM在线网络图书商城

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台,有管理员与用户两种角色; 管理员角色包含以下功能: 管理员登录,商品分类管理,商品管理,商…

Linux c编程之IO复用机制

一、说明 在实际网络程序中,比如服务器程序,需要使用IO复用机制来处理多个客户端的连接和数据收发。Linux系统下常用的IO复用机制有三种:select、poll、epoll。   poll是Linux中的字符设备驱动中的一个函数。Linux 2.5.44版本后,poll被epoll取代。   select用于监视文件…

海量数据小内存!从未出现过的数在哪里

文章目录题目要求1)内存 1G2)内存 3 KB3)内存 有限变量举例题目 现在有 40 亿个无符号整数,无符号整数的范围是 0 ~ 232-1(42亿),哪怕 40 亿个数完全不同,在该范围中也总有没有出现…