SORU
23 Aralık 2009, ÇARŞAMBA


Linux bash: Çoklu değişken atama

Linux var bir şey PHP: aşağıdaki kodu benzer bash yok

list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;

yani 3 farklı değişkenler için bir cümle ile ilgili bir değer atamak.

Hadi dize stdout yazar 7 ** bash işlevi var "deyin.qwert asdfg zxcvb Bu olası bir şey gibi yapmak

(var1 var2 var3) = ( `myBashFuntion param1 param2` )

Eşittir işaretinin sol tarafı elbette geçerli bir sözdizimi değildir. Sadece soruyorum ne olduğunu anlatmaya çalışıyorum.

Ne iş yapar, olsa da, şudur:

array = ( `myBashFuntion param1 param2` )
echo ${array[0]} ${array[1]} ${array[2]}

Ama endeksli bir dizi düz değişken isimleri gibi açıklayıcı.
Ancak, sadece yapabileceğim:

var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]}

Ama bu önlemek için tercih ederim o daha 3 ifadeleri.

Sadece bir kısayol sözdizimi arıyorum. Mümkün mü?

CEVAP
23 Aralık 2009, ÇARŞAMBA


İlk aklıma gelen şey:

read a b c <<<$(echo 1 2 3) ; echo "$a|$b|$c"

çıktı, şaşırtıcı olmayan bir şekilde

1|2|3

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011