Bash

在 bash 中將字元串或數組作為參數傳遞

  • December 6, 2017

我有excludes一個變數,它意味著要傳遞給 grep 的正則表達式列表:

$ echo $excludes
-e re_1 -e re_2 -e re_3...

我希望能夠做類似的事情

$ my | pipeline | grep -v "${excludes}"

但這不起作用。

我還嘗試使用數組,grep -v "${excludes[@]}"因為每個數組成員都是“-e blah”。這也不起作用。

如何以這樣的程式方式傳遞參數?

數組有效,但您需要將選項和值儲存為單獨的元素:

excludes=(-e "regex1" -e "regex2")
grep -v "${excludes[@]}" ...

引用自:https://unix.stackexchange.com/questions/409290