news 2026/2/1 22:20:47

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/1/27 22:52:49

29、Drupal开发:API、命令与环境配置全解析

Drupal开发:API、命令与环境配置全解析 1. 核心API介绍 在Drupal开发中,有两个重要的API值得关注,分别是Field CRUD API和Field Attach API。 1.1 Field CRUD API Field CRUD API主要用于创建字段、捆绑包和实例。以下是其主要的函数和方法: | 名称 | 描述 | | — | …

作者头像 李华
网站建设 2026/2/1 3:25:34

STM32F1系列驱动蜂鸣器报警模块超详细版教程

用STM32F1玩转蜂鸣器报警&#xff1a;从原理到实战的完整指南你有没有遇到过这样的场景&#xff1f;设备出了故障&#xff0c;但没人注意到屏幕提示&#xff1b;温控系统触发高温警报&#xff0c;却只能靠LED闪烁提醒——这显然不够直观。这时候&#xff0c;如果能“滴”一声响…

作者头像 李华
网站建设 2026/1/29 4:27:27

33、Rx编程:序列构建、LINQ查询及操作符详解

Rx编程:序列构建、LINQ查询及操作符详解 1. 序列构建器 Rx 定义了多个可直接创建新序列的方法,无需自定义类型或回调函数,适用于创建单元素序列、空序列等特定简单场景,这些均为 Observable 类的静态方法。 - Empty : Observable.Empty<T> 方法类似于 LINQ …

作者头像 李华
网站建设 2026/1/26 16:45:07

39、.NET 程序集架构、部署与保护机制解析

.NET 程序集架构、部署与保护机制解析 1. 程序集的处理器架构 程序集的处理器架构决定了它能在何种类型的处理器上运行。常见的处理器架构值包括: - msil :表示程序集包含纯托管代码,不依赖特定架构。 - x86 :经典的 32 位 Intel 架构。 - amd64 :x86 架构的 6…

作者头像 李华
网站建设 2026/1/29 10:24:43

42、C 中 dynamic 类型的深入解析

C# 中 dynamic 类型的深入解析 1. 动态类型概述 在 C# 里, dynamic 是一种特殊类型。不过,CLR(公共语言运行时)并不把它当作一个独立类型,而是将其视为 System.Object 。但编译器能够识别哪些表达式是动态的,并且在处理这些表达式时,会以截然不同的方式生成代码,…

作者头像 李华
网站建设 2026/1/25 8:52:20

45、.NET 流与文本处理:全面解析与实践

.NET 流与文本处理:全面解析与实践 在软件开发中,数据的处理和传输是核心任务之一。.NET 提供了丰富的类和接口来处理各种数据,尤其是在流操作和文本处理方面。本文将深入探讨 .NET 中的流和文本处理相关知识,包括各种流类型、文本处理类以及字符编码等内容。 流的类型与…

作者头像 李华