2016-12-14 10 views
6

Robię skryptu bash za pomocą okna dialogowego. Mój skrypt robi różnicę między plikami w dwóch tar.gz. Każdy dodawany plik jest umieszczany w tablicy, a każdy plik usuwania umieszczany jest w innej tablicy.Jak echo wszystkich wartości z tablicy w bash

Wszystkie pliki są w moim dodać dwa tablicy i kiedy chcę je echo To prace

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

Wyjście jest:

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

Teraz chcę dodać to w msgbox.

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

funkcja Call:

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

Kiedy uruchomić mój skrypt MsgBox zawiera tylko pierwsze wartości tablicy. Jeśli zmienię $ {tabAjout [@]} o $ {# tabAjout [@]}, okna dialogowe potwierdzą, że tablica zawiera 3 wartości.

Odpowiedz

14

Zastosowanie * jako indeks dolny, aby rozwinąć tablicę jako jednym słowem:

"${tabSuppr[*]}" 

Zobacz man bash do wyjaśnienia.

+0

Dziękuję bardzo za pracę – Mattasse

Powiązane problemy