如果布尔值返回true,则存储在数组

时间:2019-02-11 18:22:05

标签: bash syntax

我想将满足真实条件的另一个数组的所有元素存储在一个数组中。 (LOCALES是服务器中的位置数组。)

for loc in "${LOCALES[@]}"; do
    if sudo [ -d $loc/bin/ ]; then
        # some command that will store it in an array
    fi
done

我要输入什么以确保所有正确的命令都已存储?

1 个答案:

答案 0 :(得分:4)

您可以使用+=附加到数组,如下所示:

locales_present=() # initialize array
for loc in "${LOCALES[@]}"; do
  if sudo [ -d "$loc/bin" ]; then
    locales_present+=("$loc")
  fi
done

请记住,$loc用sudo语句括在双引号中。