
コードブロックを再実行するために、ユーザーに 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:
$