파일을 읽는 루프 내에서 쉘 스크립트 (ksh)의 입력을 요구하는 방법은 무엇입니까?
스크립트는 파일을 읽습니다. 각 루프 패스에서 취소 여부를 묻는 메시지가 표시됩니다. 이 함수는 루프 외부에서 올바르게 작동합니다. 루프 내에서 변수는 파일의 행으로 채워집니다. 스크립트는 상호 작용을 위해 멈추지 않습니다.
어떤 아이디어?
스크립트 :
######################################################
func_yesno(){
echo "cancel y/n?"
read answer
echo Your answer: $answer
case $answer in
y*|Y*) exit 0 ;;
n*|N*) echo ok ;;
*) echo wrong! ;;
esac
}
func_yesno
while read line
do
echo line: $line
func_yesno
done < /tmp/in.txt
func_yesno
######################################################
입력 파일 in.txt :
Koeln
Aachen
Muenchen
Hamburg
Berlin
출력 :
# /tmp/a.sh
cancel y/n?
n
Your answer: n
ok
line: Koeln
cancel y/n?
Your answer: Aachen
wrong!
line: Muenchen
cancel y/n?
Your answer: Hamburg
wrong!
line: Berlin
cancel y/n?
Your answer:
wrong!
cancel y/n?
n
Your answer: n
ok