2016-11-28 48 views
-2

我正在寫一個快速bash腳本,我只想接受0-9之間的整數作爲輸入。我看過,但如果答案存在某處,還沒有找到太多的道歉。如果其他人有答案,我會刪除帖子。 謝謝在bash中只接受一定範圍內的輸入

+1

「bash讀取和檢查輸入」的第一個Google結果給出http://stackoverflow.com/q/848342/7010554。這有幫助嗎? – maij

回答

1
#!/bin/bash 

while [[ 1 ]] ; do 
    echo -n "Enter a number: " 
    read input 
    if [[ "$input" =~ ^[0-9]$ ]] ; then 
     break 
    fi 
done 

echo "Got $input" 

請注意,此選項需要支持正則表達式的bash。此外,它明確允許只有一個整數,因爲您似乎在您的問題中請求。

+0

完美謝謝@eddiem! –

+0

你不需要正則表達式來做到這一點 - 使用'[[$ input == [0-9]]]''的glob模式就足夠了。 –