【发布时间】:2020-12-23 23:09:59
【问题描述】:
我有一个这样的字符串:
array_string="a b"
我有一个这样的数组:
array=(a b c)
我想验证 array_string 的所有元素是否都包含在数组中,如果这样我可以用 array_string 中包含的元素覆盖数组:
array=($array_string)
进行此类验证的最佳方法是什么?
【问题讨论】:
-
这个没有内置操作。您需要将
array_string转换为数组,然后使用嵌套循环来测试它们是否都在array中。 -
bash 没有运算符来测试字符串是否在数组中。如果您经常需要这样的复杂数组操作,
bash不是正确的语言。 -
为什么
array_string应该包含多个单词但存储在一个变量中?如果其中一个单词包含空格怎么办?这种设计本身就有缺陷。您应该维护两个单独的数组 -
@Inian 数组字符串作为环境变量传递。这是我无法更改的要求