在bash中,當[返回]鍵被擊中時,是否有可能退出不等待用戶輸入的循環?當[返回]命中時打破一個bash循環
這裏是我所說的那種循環。關鍵是[q]。我希望它是[Return]。
#!/bin/bash
stty -echo -icanon time 0 min 0 # Don't wait when read the input
i=1
while [ 1 ]; do
echo -ne "$i\r"
((i+=1))
read key
if [ "$key" == "q" ]; then break; fi # If [q] is hit, get out of the loop
done
stty sane # Come back to the classic behavior
exit 0
在'vim'中,例如你可以做'',然後打'',你應該看到一個'^ M'字符。這是你想比較的那個。 –
Jite
你好,實際上@Brice是正確的,當他說當$'鍵在'讀'命令期間只輸入[返回]時是無效的。但問題是,因爲我的腳本的第三行(stty -echo ...),即使用戶沒有輸入任何內容,$ key在'if'位置是無效的。 恐怕沒有辦法解決這個問題...... – taalf