0
在Ubuntu-14.04,慶典-4.3.11,我運行此:使得bash的printf考慮數組作爲一個參數
$ _array=(1 2 3)
$ echo "${_array[@]} bloup"
1 2 3 bloup
$ printf "%s bloup\n" "${_array[@]}"
1 bloup
2 bloup
3 bloup
- 我怎樣才能讓printf的的行爲回波在這種情況呢?
- 爲什麼printf認爲雙引號的數組作爲三個參數?即我在這裏錯過了什麼擴張機制?
作爲一種變通方法,我用這個:
$ _string=${_array[@]}
$ printf "%s bloup\n" "$_string"
1 2 3 bloup
如果你使用它雙引號'[*]',它會擴展爲單個參數。 'printf'%s bloup \ n「」$ {_ array [*]}「' – eckes