Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 for 循环 (i) 中,我必须测试:
if [[ "${PARAMETER[$i]}" =~ $(printf "|^%s\$" "${COMMANDS[@]" | cut -c 2-)]]; then....
我的疑问在于 printf 部分。抱歉,如果没有很好地解释。
POSIX printf 函数的工作方式几乎与它的 C 对应物一样。在这里,将%s替换为"${COMMANDS[@]"扩展为的任何内容。结果有一个|^前置和一个$附加。
%s
"${COMMANDS[@]"
|^
$
如果"${COMMANDS[@]"扩展到多个标记,则结果是所有此类字符串的串联。
注意:您是否忘记了前面的空白]]?
]]