SORU
27 HAZİRAN 2013, PERŞEMBE


Dönüş bash script değer

Bir bash script ile çalışıyorum ve bir dönüş değeri yazdırmak için bir fonksiyon yürütmek istiyorum:

function fun1(){
  return 34
}
function fun2(){
  local res=$(fun1)
  echo $res
}

func2 öldürdüğümde baskı yok"". 34 Biri bana yardımcı olabilir mi?

CEVAP
27 HAZİRAN 2013, PERŞEMBE


Ancak bash vardır return deyim, tek şey belirtebilirsiniz olan işlevi kendi exit durum (değer 0 ile 255, 0 anlamı "başarı"). return istediğiniz bir şey değildir.

echo bir deyim işlev çıkış yakalanabilir ... bu şekilde return ifadeni dönüştürmek istediğiniz tam olarak öyle görünüyor ki $() parantez kullanarak isteyebilirsiniz.

İşte bir örnek:

function fun1(){
  echo 34
}

function fun2(){
  local res=$(fun1)
  echo $res
}

Değeri ise 0 ile 255 arasında bir tamsayı dönmek isterseniz () geri almak için başka bir yol $?

function fun1(){
  return 34
}

function fun2(){
  fun1
  local res=$?
  echo $res
}

Ayrıca dönüş değeri fun1 || fun2 yalnızca fun2 fun1 döndürür 0 değeri çalışır gibi Boole mantığı kullanmak için kullanılabilir olduğunu unutmayın. Varsayılan dönüş değeri son deyiminin işlevi içinde yürütülür.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • George McCarron

    George McCar

    29 Mayıs 2013
  • kamaniusilelis

    kamaniusilel

    10 HAZİRAN 2011
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008