2016-12-14 27 views
6

我正在使用對話框創建一個bash腳本。我的腳本區分了兩個tar.gz中的文件。每個添加文件放在一個數組中,每個刪除文件放在另一個數組中。如何在bash中回顯陣列中的所有值

所有文件都添加在我的兩個陣列,當我想他們呼應它的作品

echo ${tabAjout[@]} 
echo ${tabSuppr[@]} 

輸出是:

bonjour.txt.gpg test2.txt.gpg test.txt.gpg 
hello.txt.gpg 

現在我想在MSGBOX添加此。

function affiche_message(){ 
    #Personnalisation de la fenêtre 
    $DIALOG --title "$1" \ 
      --msgbox "$2" 20 45 
} 

呼叫功能:

affiche_message "Title" "Delete : ${tabSuppr[@]} \n\n Add : ${tabAjout[@]}" 

當我運行我的腳本MSGBOX僅包含數組的第一個值。如果我用$ {#tabAjout [@]}更改$ {tabAjout [@]},則對話框窗口回顯該數組包含3個值。

回答

14

使用*作爲標展開數組作爲一個單詞:

"${tabSuppr[*]}" 

man bash的說明。

+0

非常感謝它的工作 – Mattasse