
코드 블록을 다시 실행하기 위해 사용자에게 예 아니요 인터페이스를 묻는 메시지를 표시합니다. 코드 블록이 echo "Hello"라고 가정합니다.
답변1
다음과 같이 간단한 것을 시도해 볼 수 있습니다.
#!/bin/bash
while true; do
echo "Hello world"
read -p "Re-run this program? (y/n)" answer
if [ "$answer" == "n" ]; then
break
fi
done
그러면 루프 내부에 "Hello world"가 인쇄되고 루프에서 벗어나려면 "n"을 입력해야 합니다.
답변2
루프를 사용하여 일련의 명령을 반복합니다. read
사용자로부터 입력을 받는 데 사용합니다 .
#!/bin/bash
want_to_print=yes
while [[ $want_to_print == yes ]] ; do
read -p 'Hello ' want_to_print
done
답변3
이를 수행하는 방법은 다양한 언어로 다양합니다. bash는 이미 완료되었으므로 다음을 입력하겠습니다 AWK
.
$ awk 'BEGIN{ MSG="yes/no?"; while ( 1 ){ print MSG;getline line; if (line == "yes") {print "HELLOWORLD"} else {exit}}}'
yes/no?
yes
HELLOWORLD
yes/no?
yes
HELLOWORLD
yes/no?
no
xieerqi:
$