Variable

何時使用數組來定義命令?

  • October 23, 2017

我在某處讀到數組最適合製作命令。

sent='A long sentence with lots of words in it.'
long=('-e' '/ long/d')
lots=('-e' '/ lots of/d')
init=('-e' '/ in it/d')
echo sent | sed -r ${long[@]} ${lots[@]} ${init[@]}

我對非數組變數有一些問題,所以我一直在使用這樣的數組。這是必要的嗎?什麼時候數組是多餘的,什麼時候需要它?

如果您的論點中有空格,則這是必要的。但是,您沒有正確使用它們。您需要引用擴展。

echo sent | sed -r "${long[@]}" "${lots[@]}" "${init[@]}"

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