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

  • footiecyclo

    footiecyclo

    26 EYLÜL 2009
  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011