news 2026/9/10 11:32:31

linux编程练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux编程练习

编写一个shell程序,循环依次判断每个位置参数(是字符串):是否大于"s",若是则输出该字符串,否则输出panda。要求:程序中要使用while语句和判断分支语句,条件测试用双中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如a、x、f 等)。
(2)不要使用与本题无关的命令!

while [ $# -gt 0 ] do a=$1 if [[ "$a" > "s" ]] then echo "$a" else echo panda fi shift done

编写一个shell程序,循环依次判断每个位置参数(是文件名,包含路径):是可读的,或者,是可写的,那么就输出该文件名,并退出循环,否则输出ox,继续循环。要求:程序中要使用while语句、退出循环语句和判断分支语句,条件测试用测试命令,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如i、n、s、f等)。
(2)不要使用与本题无关的命令!

while [ $# -ne 0 ] do a=$1 if test -r "$a" -o -w "$a" then echo "$a" break else echo ox shift fi done

编写一个shell程序,取前两个位置参数(是整数),计算从第一个整数到第二个整数(包含这两个整数)中:不能被3整除的数的和,并输出这个和。
要求:程序中要使用until语句和判断分支语句,条件测试用单中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如a、x、f 等)。
(2)不要使用与本题无关的命令!

a=$1 b=$2 f=0 until [ $a -gt $b ] do if [ $(( a%3 )) -ne 0 ] then f=$(( f+a )) a=$(( a+1 )) else a=$(( a+1 )) fi done echo $f

编写一个shell程序,用for循环依次判断当前目录下的fox子目录中的文件名以l或r开头的文件:如果文件不是可执行的,那么就输出该文件名,否则输出hedgehog。要求:程序中要使用for语句、判断分支语句和“非”语句,条件测试用双中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如i、n、s、f等)。
(2)不要使用与本题无关的命令!

for i in fox/[lr]* do if [[ ! -x "$i" ]] then echo "$i" else echo hedgehog fi done

编写一个shell程序,循环地从键盘上读字符串,判断字符串:是否小于"s",若是则输出该字符串,否则输出tortoise。要求:程序中要使用until语句和判断分支语句,条件测试用双中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如a、x、f 等)。
(2)不要使用与本题无关的命令!

until ! read a do if [[ "$a" < "s" ]] then echo "$a" else echo tortoise fi done

编写一个shell程序,循环依次判断每个位置参数(是字符串):是否小于"x",若是则输出该字符串,否则输出chimpanzees。要求:程序中要使用until语句和判断分支语句,条件测试用测试命令,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如a、x、f 等)。
(2)不要使用与本题无关的命令!

until test $# -eq 0 do a=$1 if test "$a" \< x then echo "$a" else echo chimpanzees fi shift done

编写一个shell程序,用for循环依次判断当前目录下的crocodile子目录中的文件名以h或w开头的文件:如果文件不是目录文件,那么就输出bee,否则输出该文件名。要求:程序中要使用for语句、判断分支语句和“非”语句,条件测试用双中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如i、n、s、f等)。
(2)不要使用与本题无关的命令!

for i in crocodile/[hw]* do if [[ ! -d "$i" ]] then echo bee else echo "$i" fi done

编写一个shell程序,循环地从键盘上读字符串,判断字符串:是否小于"p",若是则输出该字符串,否则输出cicada。要求:程序中要使用until语句和判断分支语句,条件测试用单中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如a、x、f 等)。
(2)不要使用与本题无关的命令!

until ! read i do if [ "$i" \< "p" ] then echo $i else echo cicada fi done

编写一个shell程序,用for循环依次判断当前目录下的miss子目录中的文件名以q或g开头的文件:如果文件不是可读的,那么就输出rhinoceros,否则输出该文件名。要求:程序中要使用for语句、判断分支语句和“非”语句,条件测试用双中括号形式,不能使用其他循环语句和注释。
注意:
(1)程序中的变量名要使用单个小写字母(例如i、n、s、f等)。
(2)不要使用与本题无关的命令!

for i in miss/[qg]* do if [[ ! -r "$i" ]] then echo rhinoceros else echo "$i" fi done
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 23:54:20

吉时利2600数字源表在光伏测试中的高效应用

随着光伏产业的快速发展&#xff0c;精准高效的测试设备成为提升电池组件性能与研发效率的关键。吉时利2600系列数字源表凭借其多功能集成、宽动态范围及智能化测试能力&#xff0c;在光伏领域展现出显著优势&#xff0c;为光伏测试提供了高效解决方案。一、精准IV曲线测量&…

作者头像 李华
网站建设 2026/9/3 6:53:03

13、深入探索内容类型与权限管理

深入探索内容类型与权限管理 在网站开发与管理中,内容类型与权限管理是至关重要的环节。合理的内容类型设置能够让网站内容更加有序和易于管理,而完善的权限管理体系则可以确保不同用户只能访问和操作其被授权的内容,保障网站的安全性和稳定性。 内容类型创建的选择 在开…

作者头像 李华
网站建设 2026/9/9 15:55:23

20、数据库层动态查询全解析

数据库层动态查询全解析 1. 简单查询基础 在进行任何查询之前,先确认是否已有专门的函数能满足你的需求。创建动态查询时,以 SELECT 查询为例,需要提供表名和一些可选参数,示例代码如下: $query = db_select(node, n); $query->condition(n.uid, 0, <>)-&g…

作者头像 李华
网站建设 2026/9/9 12:58:40

36、.NET 响应式扩展与程序集详解

.NET 响应式扩展与程序集详解 1. 响应式扩展的异步操作 在处理异步操作时,我们可以为每个订阅者创建新任务。以下是一个示例代码: public static IObservable<string> GetWebPageAsObservable(Uri pageUrl) {return Observable.FromAsync(() =>{var web = new W…

作者头像 李华
网站建设 2026/9/8 4:23:35

37、.NET 程序集深入剖析

.NET 程序集深入剖析 1. Web 项目与网站类型 Web 项目是构建网站的一种很好的方式。不过,无程序集类型的网站如果有一个不那么通用的名称会更有帮助,因为说“网站并非构建网站的唯一方式”虽然是事实,但容易让人困惑。 在 Visual Studio 中,除了使用“新建项目”对话框,…

作者头像 李华