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[@]"、結果はそのようなすべての文字列の連結になります。
注: ? の前の空白を忘れました]]か?
]]