SORU
30 HAZİRAN 2009, Salı


Geçen bash parametre olarak diziler

Nasıl bir bash fonksiyonu parametre olarak bir dizi geçebilir miyim?

Not:Burada bir cevap Yığın Taşması bulma sonra, biraz ham çözümümü kendim yazdım. Sadece bir dizi geçirilen için izin verir, ve parametre listesinin en son elemanı olmak. Aslında dizi geçen değil, ama called_function tarafından bir dizi içine yeniden monte elemanları, liste(), ama benim için çalıştı. Eğer birisi daha iyi bir yol bilen varsa, buraya eklemek için çekinmeyin.

CEVAP
25 EKİM 2010, PAZARTESİ


İletebilirsinizbağımsız değişken olarak çoklu dizilerbu gibi bir şey kullanarak

takes_ary_as_arg()
{
    declare -a argAry1=("${!1}")
    echo "${argAry1[@]}"

    declare -a argAry2=("${!2}")
    echo "${argAry2[@]}"
}
try_with_local_arys()
{
    # array variables could have local scope
    local descTable=(
        "sli4-iread"
        "sli4-iwrite"
        "sli3-iread"
        "sli3-iwrite"
    )
    local optsTable=(
        "--msix  --iread"
        "--msix  --iwrite"
        "--msi   --iread"
        "--msi   --iwrite"
    )
    takes_ary_as_arg descTable[@] optsTable[@]
}
try_with_local_arys

echo:

sli4-iread sli4-iwrite sli3-iread sli3-iwrite
iwrite--. --------------msı iread msı iwrite msix iread msix

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bigky226

    bigky226

    11 HAZİRAN 2006
  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Marques Brownlee

    Marques Brow

    21 Mart 2008