읽은 줄은 무시됩니다.

읽은 줄은 무시됩니다.

간단한 독서에 어려움을 겪고 있습니다. 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 큰따옴표를 사용하세요 .

관련 정보