[Çözüldü] read ile birden fazla değişken aldırmak

Başlatan adubel, 06 Temmuz 2010 - 15:16:51

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

adubel

Benim tek satırda birden fazla değişkeni okutmam mümkünmü?
Yani şöle sorayım read değişken1 , değişken2 gibi mesala(böyle bir uygulama yada buna benzer bir yolu varmı?
Yardımcı olursanız çok sevinirim gerçekten kötü durumdayım.

Edit=olması gerekiyordu

hitokiri

heim anlamadım
read seç ; read seçenek
böylemi
yani
read sec ; read secenek
echo $sec$secenek

gibi mi ?

adubel

yani konsolda entere 2 kez basmama gerek kalmadan bir kere entere basarak birden fazla değişkeni aynı anda scriptime göndermem gerekiyor.

scanf("%d%d",&a,&b); gibi

hitokiri

heim zenitydeki checklist gibi ama orda cevap veriyorsun sen soru sorsun istiyorsun yani entera basmadan cevap nasıl alıcaksın ben anlamadım yine ::)
yani arayüz olsa bi pencerede 4 tane enrty  olur bi tane tamam düğmesi olur aynısı konsolda nasıl olucak bilemiyorum. :-\
seçnek sunsan olmazmıi peki read = 1 ise 2 ise şunu yapsın gibi ?

sem

Alıntı yapılan: adubel - 06 Temmuz 2010 - 15:27:19
scanf("%d%d",&a,&b); gibi
@hitokiri, bu komuttan anladığıma göre arkadaşın istediği, mesela klavyeden 10 yazdı enter'a basmadı, space'e bastı diyelim ya da tab gibi bir tuşa, sonra 20 yazdı diyelim; yani şu giriş ile;
10 20 [enter]  ---->>>Bu şekilde a'ya 10, b'ye 20 nasıl atarım bash komutu ile diye soruyor sanırım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

adubel

Evet aynı sem0090 ın dediği gibi.
Kusura bakmayın direk cevap veremiyorum.Biraz zaman geçiyor Pek hoş olmayan bir durum içindeyim.

sem

read a b; echo $a; echo $b; ile oldu @abuldel, bu şekilde dene istersen... Yani değişkenler arasına virgül koymadan...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

ironic

#7
Şu şekilde örnek bir durum için oluyor. 2 seçeneği de almadan yoluna devam etmeyecek.

#!/bin/bash

sorgu() {
echo -e "istenen bilgi nedir? \n(not: değişkenleri arada bir karakter boşluk olacak şekilde girin)"
read secenek1 secenek2
}

sorgu

until [ ! -z $secenek2  ]; do # ikinci seçenek girilene kadar sormaya devam edecek..
         sorgu
done

# sonuç denemesi
echo
echo $secenek1
echo $secenek2   



daha öz olarak


#!/bin/bash

until [ ! -z $secenek2  ]; do # ikinci seçenek girilene kadar sormaya devam edecek..
      echo -e "istenen bilgi nedir? \n(not: değişkenleri arada bir karakter boşluk olacak şekilde girin)"
      read secenek1 secenek2
done

# sonuç denemesi
echo
echo $secenek1
echo $secenek2   



hitokiri

bu bashtada en kolay mantık işe yarıyor hep :)
anladım şimdi :P :))

sem

Mantık yürütmedim aslında...
Burada öyle diyor...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

adubel

Şimdi yanıtladığım için kusura bakmayın. Bash ile yapmam gereken bir şeyler vardı. Bash bilmediğim yeni öğrendiğim için böyle bir yerde takıldım. İşin kötü tarafı zaman baskısı vardı üzerimde. Kendi yazdığım betiği c++ kodlarıyla çalıştırmam gerekiyordu. Bende böyle bir yerde  takıldığım için tüm yükü c++ a verdim öyle paçayı kurtardım  :D.
Kısacası sorun şimdilik çözüldü ama daha çok fazla burada başlık açacağım gibi :D. Yardımda bulunan herkese teşekkürler.