提取每个变量的值的Bash脚本

wkyowqbh  于 2022-10-17  发布在  Unix
关注(0)|答案(1)|浏览(172)

我有一个变量,它有多个用‘:’分隔的值,如何才能在bash脚本中分别获取这些值以接收ABC、CDE STORY、BJD的值?

abc: 10
cde story: 123abc
bjd: I have some values
exdqitrt

exdqitrt1#

我对你的问题有点困惑。这些变量是否存储在单独的文件中,如‘vars.txt’?如果你能提供更多的背景信息,那将是非常有帮助的。
也就是说,请查看https://linuxhint.com/bash_split_examples/以获取如何在bash中拆分字符串的示例。TL;DR是这样的:
如果您有bash变量:

text="Hello:World"

并且您想要用分隔符“:”将其分开,则必须使用IFS变量。

IFS=":"

这似乎是一个特殊的bash变量,它影响read命令的工作方式。
因此,对于您来说,它可能看起来像这样:

some_var="10:123abc:i have some values"
IFS=":"
read -a var_array <<< "$some_var"
abc=${var_array[0]}
cde_story=${var_array[1]}
bjd=${var_array[2]}
echo "$abc, $cde_story, $bjd"

其输出为:

10, 123abc, i have some values

相关问题