Bazı parametreler için kullanıcıyı yönlendiren ve hiçbir şey verilmediyse varsayılan değerleri kullanan bir bash dosyası vardı. Komut daha sonra parametrelerle başka komutlar gerçekleştirmek için devam etti. Bu harika çalıştı - en son eklenene kadar sorun yok.while-loop okuma satırında kullanıcıdan nasıl okunur?
Bir txt dosyasından NAMES parametresini okuma denemesinde, dosyadaki adları almak için bir while döngüsü ekledim, ancak yine de kalan parametrelerin sorulmasını istiyorum.
Ancak while döngüsünü ekledikten sonra, çıktı, get_ans() öğesinde yazdırılan istemi gösterir ve hiçbir zaman bir okuma için durur, böylece tüm varsayılanlar seçilir.
İlk parametreyi bir dosyadan, ardından gelen tüm dosyaları kullanıcıdan sormaya okumak istiyorum.
while döngüsünü ekleyerek neyi kırdım?
cat list.txt |
while read line
do
get_ans "Name" "$line"
read NAME < $tmp_file
get_ans "Name" "$line"
read NAME < $tmp_file
done
function get_ans
{
if [ -f $tmp_file ]; then
rm $tmp_file
PROMPT=$1
DEFAULT=$2
echo -n "$PROMPT [$DEFAULT]: "
read ans
if [ -z "$ans" ]; then
ans="$DEFAULT"
fi
echo "$ans" > $tmp_file
}
:
Ben (biri nasıl kabul edecek bir karar vermeden önce) öyle değil sadece ne sorunu _solve_ söyleyen bir diğer cevaplar bakardık. –