bash - 第二个循环没有分配正确的 END
问题描述
我有一个将创建 3 个文件的脚本。
关键字1script.sh
关键字2script.sh
关键字3script.sh
在每个文件中,我想看到以下内容
cat keyword1script.sh
filekeyword11
filekeyword12
filekeyword13
filekeyword14
cat keyword2script.sh
filekeyword11
filekeyword12
filekeyword13
filekeyword14
filekeyword15
filekeyword16
cat keyword3script.sh
filekeyword11
filekeyword12
我得到了什么:
cat keyword1script.sh
filekeyword11
filekeyword12
filekeyword13
filekeyword14
cat keyword2script.sh
filekeyword11
filekeyword12
filekeyword13
filekeyword14
cat keyword3script.sh
filekeyword11
filekeyword12
filekeyword13
filekeyword14
我尝试过更改代码的某些部分和不同类型的循环,但是都产生相同的结果。
#!/bin/bash
findwords=( keyword1 keyword2 keyword3 )
files=( 4 7 2 )
for t in "${findwords[@]}"
do
END=( "${files[@]}" )
for i in $(seq 1 $END)
do
echo "" >> ${t}script.sh
echo "file${t}$i" >> ${t}script.sh
done
done
第一个循环似乎工作正常,创建了文件keyword1script.sh、keyword1script.sh 和keyword1script.sh,但是每个文件包含相同数量的行。
END
一旦第一个循环完成到数组文件中的第二个数字,该变量应该更改。
解决方案
推荐阅读
- laravel - 定义发送电子邮件的发件人
- vb.net - 使用循环隐藏功能区控件 vb.net
- visual-studio - 在 VS 2017 社区版中,无法看到 MVC 项目选项(模板未显示)?
- javascript - 如何在bodymovin react中破坏动画
- linux - python subprocess.run 如果你重定向stdout/stderr,它会错误退出而不是工作
- python - 编辑其副本时 Pandas DataFrame 中的意外转换
- kubernetes - Kubernetes 仪表板将无法加载
- java - 有哪些好方法可以为不同的本地化自定义日期/时间显示格式
- swift - 快速将 allHTTPHeaderFields 添加到 URLRequest
- html - 如何创建具有固定页脚的 flexbox 设计卡片