Shell脚本编程题(八道)

Shell脚本编程题(八道)

第一题

1.编程实现从键盘获取一个整数,按下列情况输出对应结果:

(1)当该数值为 6 或 7 时,输出“休息日(Rest Day)”。

(2)当该数值为 1 至 5 时,输出“工作日(Working Day)”。

(3)其他情况输出“输入错误(Error Input)”

#!/bin/sh
read datetime 
case "$datatime" in6|7)echo '休息日(Rest Day)';;1|2|3|4|5)echo '工作日(Working Day)';;*)echo '输入错误(Error Input)';;s
esac

第二题

2.编程实现从键盘获取一个字符后,当该字符为字母时输出“It’s a letter.”,当该字符为数字时输出“It’s a number.”,其他情况时输出“Unknown.”。

#!bash/sh
read letter
case "$letter" in [a-zA-Z])echo 'It's a letter.';;[0-9] )echo 'It's a number.';;*)echo 'Unknown.';;
esac

第三题

3.编程实现从键盘获取一个表示成绩的数值,按下列情况输出对应结果:

(1)若该数值小于 0 或大于 100,则输出“输入错误(Error Input)”。

(2)若该数值范围为 60-100,则输出“通过(Passed)”。

(3)若该数值范围为 0-59,输出“失败(Failed)”。

#!/bin/sh
read value
if [ "$value" -lt 0 ] || [ "$value" -gt 100 ]; thenecho "输入错误(Error Input)"
elif [ "$value" -ge 60 ]; thenecho "通过(Passed)"
elseecho "失败(Failed)"
fi

第四题

  1. 输出九九乘法表至“99.txt”文件中,格式如下:

    1*1=1
    2*1=2 2*2=4
    3*1=3 3*2=6 3*3=9
    4*1=4 4*2=8 4*3=12 4*4=16
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
    
    #!/bin/sh
    for x in $( seq 1 9)
    dofor y in $(seq 1 $x)doprintf "$x*$y=$(($x*$y)) \t"doneecho
    done > 99.txt
    

第五题

5.编程实现求出所有两位数质数,并且把它们按行追加到“prime.lst”文件中。

#!/bin/sh# 遍历两位数(10 到 99)
for a in $(seq 10 99); do# 假设是质数is_prime=1# 检查因子,只需到 sqrt(a)for b in $(seq 2 $(echo "sqrt($a)" | bc)); doif test $(($a % $b)) -eq 0; then# 如果找到因子,标记为非质数is_prime=0breakfidone# 如果是质数,写入文件if test $is_prime -eq 1; thenecho "$a" >> prime.lstfi
done

第六题

6.斐波那契(Fibonacci)数列,又被称为黄金分割数列。第 1 项为 1,第 2 项为 1,从第 3 项开始每一项为前两项之和,即 2、3、5、8……。编程实现将前 10 项以逗号分隔的格式输出至名称为“fib”的文件中。

#!/bin/sh
num1=1
num2=1
echo -n “$num1,$num2”>fib
startnum=3
while test $n -le 10; dotemp=$((num1+num2))num1=$num2num2=$tempprintf “,$f” >> fibstartnum=$((startnum+1))
done

第七题

7.使用重定向和循环从“price”文件中循环读入每一行表示价格的数据并输出它们 9 折后的整数值至“price.new”文件中。

#!/bin/shwhile read itemprice; 
do
echo $(($itemprice*90/100))
done < price > price.new

第八题

8.已知“sales”文本文件中每行保存着某商品的销售数量,使用重定向输入和循环读出这些数据并输出它们的和。

#!/bin/sh
total=0
while read amount; 
dototal=$(expr $total +amount);
done < sales
echo $total

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/856923.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建全方位大健康零售帮助中心:提升服务与体验

在当今社会,随着人们健康意识的不断提升,大健康零售市场迎来了前所未有的发展机遇。然而,面对琳琅满目的健康产品、复杂的健康理念以及日益增长的消费者需求,如何提供一个高效、便捷、全面的帮助中心,成为了大健康零售企业亟待解决的问题。在此背景下,引入Helplook工具,…

高新技术企业知识管理新篇章:高效内部知识库建设

高新技术行业作为经济发展的重要引擎,其创新能力和发展速度直接关乎国家的整体竞争力。然而,在快速发展的背后,高新技术企业面临着知识管理不善、信息共享不畅等挑战。为了应对这些挑战,高效搭建内部知识库显得尤为重要。本文将以Helplook工具为例,探讨如何高效构建高新技…

C# winform自定义图片空间 缩放、拖拽、绘画

首先简单介绍一下图片自定义的功能 1、滑动鼠标滚轮缩放图片; 2、按住鼠标左键拖拽图片; 3、可选绘画矩形、圆、直线、画笔; 4、可选连续绘画、单次绘画; 5、每次绘画通过事件返回起点坐标、终点坐标; 6、右击可重置图片大小(适应窗口)、原始尺寸(100%)、另存当前图片、清…

实验

任务41 #include <stdio.h>2 #define N 103 4 typedef struct {5 char isbn[20]; 6 char name[80]; 7 char author[80]; 8 double sales_price; 9 int sales_count; 10 } Book; 11 12 void output(Book x[], i…

T网站景点评论爬虫分享

由于学校作业需要对景点评论做一个汇总和分析,这里以T程网站为例,进行爬虫分析,爬取景点评论。开干! 景点评论页面 首先找到我们要爬取的评论页面:F12打开开发者工具,点击Network,Fetch/XHR:这里遇到个问题,页面被添加了无限断点,Fetch/XHR中没有任何数据,推荐用以下…

【每日一题】20241222

记住,只有软弱的人才从他人身上寻求回报。我们的回报是我们自己。【每日一题】某流水线上生产的一批零件,其规格指标 \(X\) 可以看作一个随机变量,且 \(X\sim N(98,\sigma^2)\), 对于 \(x\geq100\) 的零件即为不合格,不合格零件出现的概率为 \(0.05\).现从这批零件中随机抽…

【每日一题】2024

记住,只有软弱的人才从他人身上寻求回报。我们的回报是我们自己。【每日一题】某流水线上生产的一批零件,其规格指标 \(X\) 可以看作一个随机变量,且 \(X\sim N(98,\sigma^2)\), 对于 \(x\geq100\) 的零件即为不合格,不合格零件出现的概率为 \(0.05\).现从这批零件中随机抽…

Git-第一次提交

第一次提交 配置用户名和邮箱 git config --global user.name <username> git config --global user.email <email>目录结构first-steps就是一个示例项目 创建版本库 版本库是用来存储项目本身及其历史的 进入到first-steps目录中 cd first-steps git init提交 git…

一种隐藏VBA代码模块和恢复可见的方法

为了保护自己写的VBA程序代码不被他人抄袭,你可能想到给程序添加查看密码。然而这种密码是很容易被破解的,其中的一种破解方法详见我之前写的一篇文章:如何把Excel的VBA程序封装成DLL并分发给他人使用。其实还有很多种破解方法,包括下面即将介绍的这种隐藏代码模块的方法也…

渗透测试-前后端加密分析之AES加密下的SQL注入

本文是高级前端加解密与验签实战的第9篇文章,也是最后一篇文章。本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过前后端加密进行SQL注入。本文是高级前端加解密与验签实战的第9篇文章,也是最后一篇文章。本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本…

Transformers 框架 Pipeline 任务详解(五):表格问答(table-question-answering)

本文全面介绍了 Transformers 框架中的 table-question-answering 任务,从基础概念到实际应用,再到如何构建和部署一个交互式的表格问答系统。无论是在商业智能、教育辅导还是金融分析等领域,Transformers 框架都能为我们提供强有力的支持,助力我们快速实现高效的表格问答解…

WPF实现加载的动态效果

思路: 1.创建一个画布,长宽100*100;<Canvas Width="100" Height="100">2.画布上创建一个圆,直径25,位于正上方中间,底色浅灰;<Style TargetType="Ellipse"><Setter Property="Width" Value="25"/>…