これを実現するにはどうすればよいか誰か教えてもらえますか?

これを実現するにはどうすればよいか誰か教えてもらえますか?

コードブロックを再実行するために、ユーザーに yes no インターフェースをプロンプトします。コードブロックが 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:
$ 

関連情報