linux - 如何在 bash 中连接两个字符串作为文件名?

标签 linux bash shell

我有三种类型(type1、type2 和 type3)的文本文件内容存储在一个子目录中,每种类型的文件都有几个前缀,例如:prefix1、prefix2、...、prefixN。文件名由前缀+类型连接,例如:prefix1type1 表示存储在该子目录中的特定文件。

我想做的是获取用户输入并将用户输入的三种类型连接成一个完整的文件名,并测试它,如果文件存在,然后将其内容读取到数组中。

mapfile -t mytype1 < <( cat ./cpu/{$cpu}+type1 )
mapfile -t mytype2 < <( cat ./cpu/{$cpu}+type2 )
mapfile -t mytype3 < <( cat ./cpu/{$cpu}+type3 )

有用吗?我没试过这个,知道吗? 非常感谢!

最佳答案

看起来你想要这样的东西:

for type in CFLAGS CHOST CPU ; do
    mapfile -t "$type" < ./cpu/"$cpu$type"
done

关于linux - 如何在 bash 中连接两个字符串作为文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551042/

相关文章:

linux - 不使用 ; 执行多个命令和 &?

linux - 顶部 'xterm' : unknown terminal type

python - 如何在新环境中运行spyder 3?

python - 从 python 代码调用 shell 脚本,没有任何返回值 (0) 或换行符

arrays - 如何处理 Bash 中元素包含空格的数组?

linux - 使用 sed 搜索并替换配置文件值

css - sass 看多个目录

linux - 在 UNIX 中一次退出目录中多个文件的隐藏属性

linux - Linux 中带有格式化字符串参数的 stat 命令

bash - 变量中的转义引号问题(我认为)