SORU
2 HAZİRAN 2011, PERŞEMBE


Bash bir işleve parametre geçirerek

Bash bir işlev parametreleri geçirmek için nasıl bir arama yapmak için çalışıyorum, ama ne kadar gelir komut satırından parametre olarak geçirmek için nasıl her zaman.

Benim script içinde parametre geçmek istiyorum. Denedim:

myBackupFunction("..", "...", "xx")


function myBackupFunction($directory, $options, $rootPassword) {
     ...
}

Ama sözdizimi benim işlevi için parametre olarak geçirmek için ne kadar doğru değil mi?

CEVAP
2 HAZİRAN 2011, PERŞEMBE


Bir işlev bildirmek için iki tipik yolu vardır. İkinci yaklaşımı tercih ederim.

function function_name {
   command...
} 

ya

function_name () {
   command...
} 

Bağımsız değişken bir işlev çağrısı için:

function_name $arg1 $arg2

Bu fonksiyon $1, $2, ve benzeri, bu durum tarafından geçirilen bağımsız değişkenler (adını değil), ifade eder.$0komut dosyasının adını kendisi.

Örnek:

function_name () {
   echo "Parameter #1 is $1"
}

Ayrıca, bir işlev çağrısı gerekirsonrailan etmiş.

#!/bin/sh

foo 1  # this will fail because foo has not been declared yet.

foo() {
    echo "Parameter #1 is $1"
}

foo 2 # this will work.

Çıkış:

./myScript.sh: line 2: foo: command not found
Parameter #1 is 2

Reference: Advanced Bash-Scripting Guide.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • Truc Minh

    Truc Minh

    23 Ocak 2011