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

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • ibebrent

    ibebrent

    23 Temmuz 2007
  • TeeMayneTV

    TeeMayneTV

    27 Kasım 2010