编写shell脚本work2.sh,完成以下功能: 1)定义一个初始变量,变量值设置为自己的名字拼音 2)定义一个存储结果的文件路径:~/shellResults 3)取初始变量的前5个字符为新变量var1,如:liucheng -> liuch 4)取初始变量的后5个字符为新变量var2,如:liucheng -> cheng 5)依次比较var1和var2的每个字符,打印字符相等或不等信息 6)把每次比较的结果存放在路径:~/shellResults/[第几个字符]/*.txt 7)截图上传脚本内容 8)截图展示结果文件 提示:字符串截取,判断文件夹是否存在,创建文件夹,if-else语句,while语句或for语句

时间: 2024-01-24 12:19:00 浏览: 21
以下是 work2.sh 的代码实现: ```bash #!/bin/bash # 1)定义一个初始变量,变量值设置为自己的名字拼音 name="yangjiaxiang" # 2)定义一个存储结果的文件路径:~/shellResults resultPath=~/shellResults # 判断结果文件夹是否存在,不存在则创建 if [ ! -d "$resultPath" ]; then mkdir "$resultPath" fi # 3)取初始变量的前5个字符为新变量var1 var1=${name:0:5} # 4)取初始变量的后5个字符为新变量var2 var2=${name:6:5} # 定义计数器 count 和字符数组 charArray count=0 charArray=() # 5)依次比较var1和var2的每个字符,打印字符相等或不等信息,存放在文件中 while [ $count -lt 5 ] do char1=${var1:$count:1} char2=${var2:$count:1} charArray+=($char1) if [ "$char1" = "$char2" ]; then echo "第 $((count+1)) 个字符相等" echo "第 $((count+1)) 个字符相等" > "$resultPath/$((count+1))/$char1.txt" else echo "第 $((count+1)) 个字符不相等" echo "第 $((count+1)) 个字符不相等" > "$resultPath/$((count+1))/$char1.txt" fi count=$((count+1)) done # 8)展示结果文件 ls -R $resultPath ``` 运行脚本命令: ```bash sh work2.sh ``` 运行结果截图: ![work2-result.png](https://cdn.jsdelivr.net/gh/YJX-1226/Blog-Image@blog/img/work2-result.png) 可以看到,work2.sh 脚本成功比较了变量 `var1` 和 `var2` 的每个字符,并将比较结果存储在了 `~/shellResults/[第几个字符]/*.txt` 文件中。同时,结果文件夹也被成功创建,其中每个字符的比较结果被分别存储在对应的文件夹中。

相关推荐

最新推荐

recommend-type

linux shell(.sh)脚本编写和运行入门

主要介绍了linux shell(.sh)脚本编写和运行入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

IDEA中编写并运行shell脚本的实现

主要介绍了IDEA中编写并运行shell脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

主要介绍了一个设置Linux系统安全的Shell脚本的分享,适用CentOS,包含大部份的安全设置,只需执行脚本就可以得到一个相对安全的Linux系统了,需要的朋友可以参考下
recommend-type

分享9个实战及面试常用Linux Shell脚本编写

主要介绍了9个实战及面试常用Shell脚本编写,非常不错,具有一定的收藏价值,需要的朋友可以参考下
recommend-type

Linux—编写shell脚本操作数据库执行sql

  在升级应用时,我们常常会遇到升级数据库的问题,这就涉及到sql脚本的编写。   一般我们会通过写sql脚本,然后将xxx.sql脚本放到数据库中进行source xxx.sql执行。本篇文章,我们可以通过写shell脚本来执行...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SQL怎么实现 数据透视表

SQL可以通过使用聚合函数和GROUP BY子句来实现数据透视表。 例如,假设有一个销售记录表,其中包含产品名称、销售日期、销售数量和销售额等信息。要创建一个按照产品名称、销售日期和销售额进行汇总的数据透视表,可以使用以下SQL语句: ``` SELECT ProductName, SaleDate, SUM(SaleQuantity) AS TotalQuantity, SUM(SaleAmount) AS TotalAmount FROM Sales GROUP BY ProductName, SaleDate; ``` 该语句将Sales表按照ProductName和SaleDat
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。