2016-12-14 42 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