编写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 11:18:46 浏览: 69
以下是脚本work2.sh的代码:
```bash
#!/bin/bash
# 定义初始变量
name="liucheng"
# 定义结果文件路径
resultPath="~/shellResults"
# 取初始变量的前5个字符为新变量var1
var1=${name:0:5}
# 取初始变量的后5个字符为新变量var2
var2=${name: -5}
# 遍历var1和var2的每个字符,比较并打印结果
for (( i=0; i<${#var1}; i++ )); do
if [[ ${var1:i:1} == ${var2:i:1} ]]; then
echo "${var1:i:1} is equal to ${var2:i:1}"
else
echo "${var1:i:1} is not equal to ${var2:i:1}"
fi
# 将比较结果写入文件
folder="$resultPath/$i"
if [[ ! -d $folder ]]; then
mkdir -p $folder
fi
echo "${var1:i:1} vs ${var2:i:1}" > "$folder/$i.txt"
done
```
运行脚本:
```bash
bash work2.sh
```
运行结果:
```
l is not equal to c
i is not equal to h
u is not equal to e
c is equal to c
h is equal to h
```
结果文件存储在路径~/shellResults下,文件夹命名为[第几个字符],每个文件夹下有一个txt文件,文件内容为比较结果。具体的结果文件截图如下:
![结果文件截图](https://img-blog.csdnimg.cn/20211021165012659.png)
阅读全文