编写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` 文件中。同时,结果文件夹也被成功创建,其中每个字符的比较结果被分别存储在对应的文件夹中。