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

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • knopik96

    knopik96

    7 Mayıs 2011