我在某处读到数组最适合发出命令。
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[@]}
我对非数组变量有一些问题,所以我一直在使用这样的数组。有这个必要吗?什么时候数组是多余的,什么时候又需要它?
答案1
如果你的论点中有空格,这是必要的。但是,您没有正确使用它们。您需要引用扩展。
echo sent | sed -r "${long[@]}" "${lots[@]}" "${init[@]}"