Teşekkürler. 

Bu arada az önce şöyle bir çözüm buldum:

 

Read ilsem < /dev/tty

 

Dediğim zaman sadece klavyeden yapılan girişleri okuıyor.

 

  _____  

From: Halil Demirezen [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, March 21, 2007 9:52 AM
To: freebsd@lists.enderunix.org
Subject: Re: [FreeBSD] shell script

 

Alternatif bir çözüm olarak;

 

 

#!/bin/sh

 

for dosyaadi in `cat /tmp/filelist`
do
      echo $dosyaadi
      echo -n "Silinsin mi? (e/h): "
      read islem

      case "$islem" in 

        ...................

      esac 
done

 

deneyebilirsiniz

----- Original Message ----- 

From: Cahit Güçlü <mailto:[EMAIL PROTECTED]>  

To: freebsd@lists.enderunix.org 

Sent: Tuesday, March 20, 2007 9:30 PM

Subject: [FreeBSD] shell script

 

Burası bu konunun yeri mi bilmiyorum ama en azından nereden yardım
alabileceğimi söyleyen birileri çıkabilir diye düşündüm.

Bir dosyanın içeriğini satır satır okuyup (dosya içeriğinde dosya adları
var) her bir satırda durup bu dosyayı sileyimmi diye sorup verilen cevaba
göre işlem yapan bir script yazmaya çalıştım:

 

#!/bin/sh

 

while read dosyaadi;

do

      echo $dosyaadi

      echo

      echo -n "Silinsin mi? (e/h): ";

      read islem;

      case "$islem" in

            ... yapılacak işlemle ilgili komutlar ...

      esac

done < /tmp/filelist

 

gibi bir kod yazdım. Ama while read döngüsünün içindeki e/h cevabını isteyen
read komutuna gelindiğinde sanırım bir sonraki while read devreye giriyor ve
sıradaki satır soruya cevap olarak girilmiş gibi işleme devam ediyor, benim
klavyeden cevap girmemi beklemiyor. Silinsin mi sorusundan sonra benim
klavyeden gireceğim cevabı beklemesini nasıl sağlayabilirim ya da başka bir
şekilde bu işlemi nasıl yapabilirim?

 

Teşekkürler

Cevap