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

  • Plugable

    Plugable

    19 Mayıs 2010
  • Drakinen

    Drakinen

    1 EYLÜL 2008
  • William Sledd

    William Sled

    24 EYLÜL 2006