누구든지 이것이 어떻게 달성될 수 있는지 말해 줄 수 있습니까?

누구든지 이것이 어떻게 달성될 수 있는지 말해 줄 수 있습니까?

코드 블록을 다시 실행하기 위해 사용자에게 예 아니요 인터페이스를 묻는 메시지를 표시합니다. 코드 블록이 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:
$ 

관련 정보