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

  • EvilControllers

    EvilControll

    20 Ocak 2008
  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Moto Journal

    Moto Journal

    28 Mayıs 2007