linux - 从文件中读取字符串并使用 bash 将它们存储在多个变量中

标签 linux bash unix sh

我在这里看了很多帖子,但没有一个能完全解决这个问题。

我有一个配置文件(即:default.conf),里面有几个值:

id: 2
type: food
name: potato
quantity: 34

我想要实现的是有一个 bash 脚本来读取配置文件并将“:”(2,食物,土 bean ,34 ...)之后的每个值分配给多个变量供以后使用脚本。

最佳答案

我建议为此使用关联数组。这需要 bash 4 或更高版本。

遍历文件并使用 bash 中的字符串操作来分配关联数组中的变量。

declare -A conf_vars; while read line; do conf_vars[${line%:*}]=${line#*:}; done <default.conf

您现在可以使用变量来使用例如:${conf_vars[type]},在您的示例中提供食物。

编辑:
SO语法着色看不懂,在这种情况下#不表示注释。忽略它。

关于linux - 从文件中读取字符串并使用 bash 将它们存储在多个变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51303756/

相关文章:

unix - 删除文件和 inode

Android Studio 3 模拟器在 Linux Mint 上失败

c - Linux 内核 I/O

c - 来自 DIR 的统计文件 *

linux - 使用 Linux 网络设备别名时指定 TCP 套接字的源 IP 地址

Bash:导出函数以在 xargs 中使用

调用memset导致segmentation fault

bash - Bash 中大型定长文本文件的高效子字符串解析

bash - 如何编写 Bash 脚本来显示菜单、接受用户输入和显示数据?

unix - 为什么只有相关进程只能使用 pipe() (IPC) 进行通信?