Shell'in bazı şeyleri hatırlamasını nasıl sağlayabilirim?


2

Öyleyse, bu şu anda (şu anda) kaç tane flama canlı olduğunu yakalamaktır. Diyelim ki 5 kişiden 2'si canlı, hangisi iyi çalışıyor.

Ulaşmak istediğim, bir listede bir belgeye kaydetmek zorunda kalmadan “hatırlanmak” için canlı olan 2 flama için.

Belki de $ ListofStreamers gibi bir değişken ve daha sonra bunu, canlı olan flamalar üretmek için açılan bir diyalogda kullanabilirim. Bunu bir metin dosyası yapmadan ve kimlerle yaşadığını kaydetmeden yapmanın bir yolu var mı?

Teşekkürler: D

for i in {1..5}
do
   Streamer=$(awk "NR==$i" $StreamersFile)
   Live=$(curl -i --header 'Accept: application/vnd.twitchtv.v3+json' --header "Client-ID: $TwitchAPI" "https://api.twitch.tv/kraken/streams/$Streamer" | grep -wo 'live') 
   if [ "$Live" == live ]; then \
      : $((LiveStreamers++))
   fi
done

İşte istediğim şey hakkında kaba bir fikir.

for i in {1..$LiveStreamers}
do
  $Streamer$i
done

zenity --info --text=$Streamer1 $Streamer2 $Streamer3 $Streamer4 $Streamer5

Ancak canlı olan flamalar bir liste gibi tek bir değişkene koymak istiyorum.


Bir ortam değişkenine ver.
simlev

Ne aradığın belli değil. "Hatırlanan" derken ne demek istiyorsun? Komut dosyası işlemi bittikten sonra devam etmesini istiyorsanız, zor, bir dosyaya yazmanız gerekir. Senaryo çalışırken sadece yapışmasını istiyorsanız, zaten betiğinizde iki değişken ayarladınız, neden başka bir değişken çalışması ayarlamıyorsunuz? Lütfen istediğinizi netleştirmek için sorunuzu düzenleyin .
8,

Bir flama akımının yaşadığı her satır için bir değişken yapmak zorunda kalmadan $ StreamersThatAreLive gibi bir değişkene kaydetmesini istiyorum. Nasıl açıklayacağımı bilmiyorum. Ana yazı düzenlendi, daha fazla yardımcı olur mu bilmiyorum
Interknet 10:17

Dizi değişkeni belki?
Kamil Maciorowski,

@Interknet Evet, bence daha iyi görünüyor.
8,

Yanıtlar:


0

@KamilMaciorowski'ye yanıtların dizileri kullanması için teşekkür ederiz . İşte tamamlanmış komut dosyası:

    for i in {1..6}
do
   Streamer=$(awk "NR==$i" $StreamersFile)
   Live=$(curl -i --header 'Accept: application/vnd.twitchtv.v3+json' --header "Client-ID: $TwitchAPI" "https://api.twitch.tv/kraken/streams/$Streamer" | grep -wo 'live') 
   if [ "$Live" == live ]; then \
       StreamersThatAreLive=("${StreamersThatAreLive[@]}" "• $Streamer\n");
       List=${StreamersThatAreLive[@]}
   fi
done
zenity --info --text="Live right now:\n $List" --title="Live Right Now" 2> /dev/null

Dizinin nasıl çalıştığını açıklardım ama onlar için yeniyim. İşte kullandığım süper yardımcı belgeler: http://www.thegeekstuff.com/2010/06/bash-array-tutorial

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.