読み取った行は無視されます。

読み取った行は無視されます。

簡単な読書に苦労しています。 XMLエントリのリストを読み、それを使用します。ある時点で私は確信しているかどうかを尋ね、変数からこの応答を受け入れる必要があります。私の問題は、「Lineaを読んでいる間」と尋ねると、「read -p ...」が無視され、この質問に答えることができないということです。

xml2 < list | egrep "item" | egrep "url|pubDate|title" |  while read linea; 
do 

    case 1 in
        $(($x<= 1)))
            ...
            ;;
        $(($x<= 2)))
            ...
            ;;
        $(($x<= 3)))
            ....                        
            if [ $DIFERENCIA -lt $num_dias ];        
            then  

                ...                             
                read -p “Are you sure: ” sure                              
                ...

            fi                           

            ...
            ;;                
        *)
            let x=1
            ;;
    esac      

done  

ありがとう

答え1

代わりにこれを使用してください:

read -p "Are you sure: " sure  </dev/tty

引用符は、UNICODE U-201cおよびU-201dではなくASCII 0x22でなければなりません

答え2

(bashの場合)コマンドライン全体を他のファイル記述子への入力として提供します3

while read -ru 3 linea; do
    read -p "Are you sure: " sure
    echo "sure=$sure linea=$linea"
done 3< <(xml2 < list | egrep "item" | egrep "url|pubDate|title" )

U-201cとU-201d"の代わりに正しいASCII二重引用符を使用してください。

関連情報