2013-10-22 77 views
0

裏面一個for循環(我)我要測試:shell腳本的printf意義

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

而且我懷疑是在printf的一部分。 對不起,如果不好解釋。

+0

printf-part和一個命令執行以及一個管道產生一個格式化的字符串,它由數組COMMANDS的內容組成,這個數組的內容與數組PARAMETERS中的一個項目進行比較。分別在shell中運行'printf'部件來查看它的功能。你有什麼疑問? –

+0

感謝您的幫助。問題解決了 – user2357667

回答

1

POSIX printf函數的工作原理與C相似。在這裏,%s"${COMMANDS[@]"擴展到的任何內容所取代。結果有一個|^前綴和一個$追加。

如果"${COMMANDS[@]"擴展爲多個標記,則結果是所有這些字符串的連接。

注意:您忘記了]]之前的空白嗎?

+0

是的,我忘了它。抱歉。謝謝您的幫助。 – user2357667