
向使用者提示是或否介面,以便重新執行程式碼區塊。
答案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:
$