【发布时间】:2021-10-11 08:27:51
【问题描述】:
我正在读取一个包含以下配置的文件:
$ cat ./FILENAME
*.one.dev.arr.name.com
*.one.dev.brr.name.com
*.one.dev.sic.name.com
*.one.dev.sid.name.com
*.one.dev.xyz.name.com
*.one.dev.yza.name.com
数组被读取
IFS='$\n' read -d '' -r -a FILENAME < ./FILENAME
我需要格式为以下格式:
'{*.one.dev.arr.name.com,*.one.dev.brr.name.com,*.one.dev.sic.name.com,*.one.dev.sid.name.com,*.one.dev.xyz.name.com,*.one.dev.yza.name.com}'
我尝试过使用 printf,棘手的部分是名称开头的通配符(*)。
【问题讨论】:
-
你需要一个数组吗?为什么要使用数组,只需stackoverflow.com/questions/2764051/…
-
请使用您尝试过的
printf命令和所述命令生成的(错误)输出来更新问题 -
我认为
IFS/read命令没有正确填充FILENAME[]数组;运行typeset -p FILENAME查看数组的内容;考虑使用mapfile -t FILENAME < FILENAME加载FILENAME[]数组;可能还想重新考虑文件和/或数组的名称,因为两者都使用FILENAME对于必须维护此脚本的其他人来说可能有点混乱
标签: bash jenkins-pipeline bash-completion