我有一個循環,我想打破任何用戶輸入。Bash:用`read`捕獲換行符
人爲的例子 - 計數到10時的計時器:
counter=10
while ((counter > 0)) && [[ -z $input ]]; do
printf '\rRestart in %s seconds' "$counter"
read -n 1 -t 1 input
((counter--))
done
echo "Completed"
這適用於適當的所有用戶輸入除了Enter
,我完全相信,Enter
將是最常見的輸入。
如何使用Bash的read
命令捕獲Enter
?
修復了語法 - 給定的示例代碼實際上並沒有工作 - 也使它遵循一些約定。 –
@CharlesDuffy謝謝! –
我錯過了第一遍格式化/約定修正中的主要內容 - 在printf的第一個參數中不應該使用參數擴展(因爲它可能會導致格式字符串無效)而不會出現情有可原的情況。在隨後的傳球中補丁。 –