İlişkisel dizilerde, aynı anda hem dizin hem de değer atama


0

Bir bash betiğinde aşağıdakileri buldum ancak çalışmasına rağmen mantığını anlayamıyorum

REMOTESNAPS+=(["$FS"]=" $SNAP")

Yukarıdaki ifade, REMOTESNAPhangi dizinin " $FS" kullanılması gerektiğini tanımlayarak ve ikinci öğeye " $SNAP" eklenerek ilişkilendirme dizisine bir öğe ekler .

İlişkisel diziler oluşturmak için bu kadar akıllı bir yol için bir açıklama bulamadım, ya da bash kılavuzunda açıklandığı yerdeki noktayı bulabilirim ya da çıkarabilirim.

Biri bu konuyu genişletebilir mi? Gerçekten takdir edilecektir.

Yanıtlar:


0

İçindeki "PARAMETRELER" bölümünde man bash, bkz.

Bir atama ifadesinin bir kabuk değişkenine veya dizi dizinine bir değer atadığı bağlamda, + = operatörü değişkenin önceki değerine eklemek veya eklemek için kullanılabilir. Tamsayı niteliğinin ayarlandığı bir değişkene + = uygulandığında, değer aritmetik bir ifade olarak değerlendirilir ve değişkenin geçerli değerine de eklenir. + = Bileşik atama kullanarak bir dizi değişkenine uygulandığında (bkz. Aşağıdaki Diziler), değişkenin değeri ayarlanmamıştır (= kullanılırken olduğu gibi) ve yeni değerler, dizinin maksimum dizininden daha büyük bir diziden başlayarak diziye eklenir (dizine eklenmiş diziler için) veya ilişkisel bir dizide ek anahtar-değer çiftleri olarak eklendi.


Teşekkürler Choroba, tuhaf bash davranışlarından kaçınmak için yukarıda gösterilen sözdizimine sadık kalacağım,
user2984629

0

Adam bashında anlatılanlara bir örnek bulduğum bir link. Search for "İlişkisel diziler için bireysel toplu ayar. Adlanmış dizinler (burada: S1 ve S2), dizelerdir."

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.