0

在 for 循环 (i) 中,我必须测试:

if [[ "${PARAMETER[$i]}" =~ $(printf "|^%s\$" "${COMMANDS[@]" | cut -c 2-)]]; then....

我的疑问在于 printf 部分。抱歉,如果没有很好地解释。

4

1 回答 1

1

POSIX printf 函数的工作方式几乎与它的 C 对应物一样。在这里,将%s替换为"${COMMANDS[@]"扩展为的任何内容。结果有一个|^前置和一个$附加。

如果"${COMMANDS[@]"扩展到多个标记,则结果是所有此类字符串的串联。

注意:您是否忘记了前面的空白]]

于 2013-10-22T09:53:29.080 回答